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 1v8DPI-00EaOn-O2 for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Oct 2025 07:55:49 +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 1v8DPG-004oNE-E3 for pgsql-hackers@arkaria.postgresql.org; Mon, 13 Oct 2025 07:55:47 +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 1v8CHa-004Vhj-1q for pgsql-hackers@lists.postgresql.org; Mon, 13 Oct 2025 06:43:48 +0000 Received: from mail-io1-xd2f.google.com ([2607:f8b0:4864:20::d2f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1v8CHN-001TlS-22 for pgsql-hackers@lists.postgresql.org; Mon, 13 Oct 2025 06:43:45 +0000 Received: by mail-io1-xd2f.google.com with SMTP id ca18e2360f4ac-91179e3fe34so207680539f.1 for ; Sun, 12 Oct 2025 23:43:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=illuminatedcomputing-com.20230601.gappssmtp.com; s=20230601; t=1760337813; x=1760942613; 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=ghdGVSmHL/xdh7azk0lj2O3mxWU9FA7zXQAfx3O0MUQ=; b=rwJ7FgvJeB0VVo+0X7rAF4gi2gH6/3zlHlbLY6cEX0AnNyBbJwHej3sep7wnD0mHXl dxq5BUUL2vINP2EPsU6H7q2rXzpvZx0eNqA6e53q3ODstJabhaXbEN8RNpz1iNt24Pq5 QOC+z+wLI30vMOZLoi50nIS4/9GOZYYguICYaLhtb3AoliTgbkLvf6al9kvVVia0Hmwj OBF7KQzYWh7SCPRzWHrxuxlwlt08JImRnVmXiSc8tDLFrjg3+o+ANlWEQtfs6ibECLv5 SPeeeHHvzsf4MQVkREemQWybQx3evKqw2Ezte1eFNQgMtwgE1Z6kiSabMQGPSTUVFA+m JE+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760337813; x=1760942613; 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=ghdGVSmHL/xdh7azk0lj2O3mxWU9FA7zXQAfx3O0MUQ=; b=hGmxe+MzqliG4jW33gEbks8g0yZ5xSbIrttzLKNOvtoCBfxlNbrzg8ccRfHwCNn8jm PmaNCZ5wvq/R1YJGVdts7bCSoZutrAVjirNodNwKC1AYbL/faBv0GS1XUBWmyrTOZhaT eGqRqAngBW+j7Y0xEyXT2l/AwgLo73ZBtx7o7k+VrRz3Ja0ykI01csEJKZIKOzZwr4Lu xxtR9BtjeL+n0BuN+bb63rFoLfeqYUu0RHQ+NDQT9b+gKm7/rVN2KQ61wjnCmGtGGIM9 1UJYsZ+Y3eUgP5w3+907kz5azOLYryeZMqGUd+8+iDP2TTLdinu8Q7L3sW8J8DRa3HjF qNuQ== X-Gm-Message-State: AOJu0Yw6ed3lqnEBQYflxz4XIIQd4WFogLHhQBh3BL/M29h0VBeMQy1j RlnLm6rjKilYTZaP2rDmT9jevU4u7V2uHewQ9zY+IJVTIsNwvR92r1/Wrqjumiz7ULZykbSJHyk WNQWSAETIw7OiiDTRTPuDXYIxseamSn8uqmIDOmxOPNk18FLCqmsfhzU= X-Gm-Gg: ASbGnctVkepdH8ZipJTfryHBSOjZS6M4Lr8q9gbWY5+FbwSO4FCPehr5J/XX/mt3XWp iI2rki8fvDGEkZ2Z646MveCHYC+lRl1VQufqcyXYAufJufiX2175/Q7f4LoiHX6SJZN58008g64 ZRpGK8ZLG7PWY1tPPvV4oFsZRKWJBHPgCwFMSi3wP/Ku+pzVhs2/g1hUwcAd4EJ3k9eONPRcXGj AvEbj4KBIlBhnpdTf+raEJlo9J2S+Qr5Qg= X-Google-Smtp-Source: AGHT+IF02W9IrBv+e0iXDHsSpCrAemWt77RiFzWJou72NjFUi+PLvemXwCPeZfumGhc/VweSaOSmBTdhsU6MaZzlyxQ= X-Received: by 2002:a05:6602:6b89:b0:929:9c4d:4a6e with SMTP id ca18e2360f4ac-93bd17e6d48mr2516661239f.8.1760337812543; Sun, 12 Oct 2025 23:43:32 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Paul A Jungwirth Date: Sun, 12 Oct 2025 23:43:20 -0700 X-Gm-Features: AS18NWBVJAJC5rcS7JO5HMfLP-Mgh_7J0VRMjrfIh8dfb0Dj4k2vrl34Z0_ZqM8 Message-ID: Subject: Re: SQL:2011 Application Time Update & Delete To: PostgreSQL Hackers Cc: Tom Lane , Robert Haas , Peter Eisentraut Content-Type: multipart/mixed; boundary="000000000000009ee706410496f4" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000009ee706410496f4 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Oct 4, 2025 at 12:48=E2=80=AFPM Paul A Jungwirth wrote: > > On Wed, Sep 24, 2025 at 9:05=E2=80=AFPM Paul A Jungwirth > wrote: > > > > Here is another update, now with working PERIOD DDL. I also fixed some > > new post-rebase problems causing CI to fail. > > More rebase & CI fixes attached. > > Rebased to 03d40e4b52 now. It looks like an #include I needed went away and my patches stopped compiling. Here is a new series. Now rebased to 7a662a46eb. Yours, --=20 Paul ~{:-) pj@illuminatedcomputing.com --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0003-Document-temporal-PERIODs.patch" Content-Disposition: attachment; filename="v56-0003-Document-temporal-PERIODs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qd2 RnJvbSBhMzdjYzI5NDgzZmJiODgxZjY2NDNhOTEwZTRjMmU4YjQ1MGE2MjBmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjM6MjM6MjMgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAwMy8xMV0gRG9jdW1lbnQgdGVtcG9yYWwgUEVSSU9EcwoKV2UgZG9uJ3Qg c3VwcG9ydCB0aGVzZSB5ZXQsIHNvIHdlIGp1c3QgZXhwbGFpbiB0aGUgY29uY2VwdCwgc2F5IHRo YXQgd2UKdXNlIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMsIGFuZCBzYXkgdGhhdCB3ZSBwbGFuIHRv IHN1cHBvcnQgUEVSSU9EcyBpbgp0aGUgZnV0dXJlLgoKQXV0aG9yOiBQYXVsIEEuIEp1bmd3aXJ0 aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIGRvYy9zcmMvc2dtbC90ZW1wb3Jh bC5zZ21sIHwgMjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2Vk LCAyOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNn bWwgYi9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbAppbmRleCA0YzRmZWJiOTRiNC4uYWFiODkx N2FjMGEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC90ZW1wb3JhbC5zZ21sCkBAIC0xNSw2ICsxNSwzNSBAQAogICAgdGFibGVzLgogICA8 L3BhcmE+CiAKKyA8c2VjdDEgaWQ9InBlcmlvZHMiPgorICA8dGl0bGU+UGVyaW9kczwvdGl0bGU+ CisKKyAgPGluZGV4dGVybSB6b25lPSJwZXJpb2RzIj4KKyAgIDxwcmltYXJ5PnBlcmlvZHM8L3By aW1hcnk+CisgIDwvaW5kZXh0ZXJtPgorCisgIDxwYXJhPgorICAgQSA8Zmlyc3R0ZXJtPnBlcmlv ZDwvZmlyc3R0ZXJtPiBpcyBtZXRhZGF0YSBhdHRhY2hlZCB0byBhIHRhYmxlIAorICAgdW5pdGlu ZyB0d28gY29sdW1ucywgYSBzdGFydCB0aW1lIGFuZCBlbmQgdGltZSwgaW50byBvbmUgcmFuZ2Ut bGlrZSAKKyAgIGNvbnN0cnVjdC4gUGVyaW9kcyBhcmUgdXNlZCB0byByZXByZXNlbnQgPGxpbmsg CisgICBsaW5rZW5kPSJzeXN0ZW0tdGltZSI+c3lzdGVtIHRpbWU8L2xpbms+IGFuZCA8bGluayAK KyAgIGxpbmtlbmQ9ImFwcGxpY2F0aW9uLXRpbWUiPmFwcGxpY2F0aW9uIHRpbWU8L2xpbms+LiBB IHN5c3RlbS10aW1lIAorICAgcGVyaW9kIG11c3QgYmUgbmFtZWQgPGxpdGVyYWw+c3lzdGVtX3Rp bWU8L2xpdGVyYWw+LCBhbmQgYW4gCisgICBhcHBsaWNhdGlvbi10aW1lIHBlcmlvZCBjYW4gYmUg bmFtZWQgYW55dGhpbmcgZWxzZS4gVGhlaXIgbmFtZXMgbXVzdCAKKyAgIG5vdCBjb25mbGljdCB3 aXRoIGNvbHVtbiBuYW1lcyBmcm9tIHRoZSBzYW1lIHRhYmxlLgorICA8L3BhcmE+CisKKyAgPHBh cmE+CisgICBQZXJpb2RzIGFyZSByZWZlcmVuY2VkIGluIHNldmVyYWwgdGVtcG9yYWwgb3BlcmF0 aW9ucyBkZXNjcmliZWQgaW4gCisgICB0aGlzIGNoYXB0ZXI6IHRlbXBvcmFsIHByaW1hcnkga2V5 cywgdW5pcXVlIGNvbnN0cmFpbnRzLCBmb3JlaWduIGtleXMsIAorICAgdXBkYXRlIGNvbW1hbmRz LCBhbmQgZGVsZXRlIGNvbW1hbmRzLiAKKyAgIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9k dWN0bmFtZT4gZG9lcyBub3QgeWV0IHN1cHBvcnQgcGVyaW9kcy4gCisgICBDb21tYW5kcyB0aGF0 IGFjY2VwdCBwZXJpb2RzIGluc3RlYWQgYWNjZXB0IGNvbHVtbnMgd2l0aCBhCisgICA8bGluayBs aW5rZW5kPSJyYW5nZXR5cGVzLWJ1aWx0aW4iPnJhbmdldHlwZSBvciBtdWx0aXJhbmdldHlwZTwv bGluaz4uIAorICAgU3VwcG9ydCBmb3IgcGVyaW9kcyBpcyBwbGFubmVkIGZvciB0aGUgZnV0dXJl LgorICA8L3BhcmE+CisgPC9zZWN0MT4KKwogIDxzZWN0MSBpZD0iYXBwbGljYXRpb24tdGltZSI+ CiAgIDx0aXRsZT5BcHBsaWNhdGlvbiBUaW1lPC90aXRsZT4KIAotLSAKMi4zOS41Cgo= --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0005-Add-range_minus_multi-and-multirange_minus_multi.patch" Content-Disposition: attachment; filename="v56-0005-Add-range_minus_multi-and-multirange_minus_multi.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qh4 RnJvbSAwMTVhM2ZmZTUwMGViODJkYTFhMTI4NzJmZmJjMTc3MDBlYjlmNjZmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgMzAgRGVjIDIwMjMgMjM6MTA6NTkgLTA4MDAKU3ViamVj dDogW1BBVENIIHY1NiAwNS8xMV0gQWRkIHJhbmdlX21pbnVzX211bHRpIGFuZCBtdWx0aXJhbmdl X21pbnVzX211bHRpCiBmdW5jdGlvbnMKClRoZSBleGlzdGluZyByYW5nZV9taW51cyBmdW5jdGlv biByYWlzZXMgYW4gZXhjZXB0aW9uIHdoZW4gdGhlIHJhbmdlIGlzCiJzcGxpdCIsIGJlY2F1c2Ug dGhlbiB0aGUgcmVzdWx0IGNhbid0IGJlIHJlcHJlc2VudGVkIGJ5IGEgc2luZ2xlIHJhbmdlLgpG b3IgZXhhbXBsZSAnWzAsMTApJzo6aW50NHJhbmdlIC0gJ1s0LDUpJyB3b3VsZCBiZSAnWzAsNCkn IGFuZCAnWzUsMTApJy4KClRoaXMgY29tbWl0IGFkZHMgbmV3IHNldC1yZXR1cm5pbmcgZnVuY3Rp b25zIHNvIHRoYXQgY2FsbGVycyBjYW4gZ2V0CnJlc3VsdHMgZXZlbiBpbiB0aGUgY2FzZSBvZiBz cGxpdHMuIFRoZXJlIGlzIG5vIHJpc2sgb2YgYW4gZXhjZXB0aW9uIGZvcgptdWx0aXJhbmdlcywg YnV0IGEgc2V0LXJldHVybmluZyBmdW5jdGlvbiBsZXRzIHVzIGhhbmRsZSB0aGVtIHRoZSBzYW1l CndheSB3ZSBoYW5kbGUgcmFuZ2VzLgoKQm90aCBmdW5jdGlvbnMgcmV0dXJuIHplcm8gcmVzdWx0 cyBpZiB0aGUgc3VidHJhY3Rpb24gd291bGQgZ2l2ZSBhbgplbXB0eSByYW5nZS9tdWx0aXJhbmdl LgoKVGhlIG1haW4gdXNlLWNhc2UgZm9yIHRoZXNlIGZ1bmN0aW9ucyBpcyB0byBpbXBsZW1lbnQg VVBEQVRFL0RFTEVURSBGT1IKUE9SVElPTiBPRiwgd2hpY2ggbXVzdCBjb21wdXRlIHRoZSBhcHBs aWNhdGlvbi10aW1lIG9mICJ0ZW1wb3JhbApsZWZ0b3ZlcnMiOiB0aGUgcGFydCBvZiBoaXN0b3J5 IGluIGFuIHVwZGF0ZWQvZGVsZXRlZCByb3cgdGhhdCB3YXMgbm90CmNoYW5nZWQuIFRvIHByZXNl cnZlIHRoZSB1bnRvdWNoZWQgaGlzdG9yeSwgd2Ugd2lsbCBpbXBsaWNpdGx5IGluc2VydApvbmUg cmVjb3JkIGZvciBlYWNoIHJlc3VsdCByZXR1cm5lZCBieSByYW5nZS9tdWx0aXJhbmdlX21pbnVz X211bHRpLgpVc2luZyBhIHNldC1yZXR1cm5pbmcgZnVuY3Rpb24gd2lsbCBhbHNvIGxldCB1cyBz dXBwb3J0IHVzZXItZGVmaW5lZAp0eXBlcyBmb3IgYXBwbGljYXRpb24tdGltZSB1cGRhdGUvZGVs ZXRlIGluIHRoZSBmdXR1cmUuCgpBdXRob3I6IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWlu YXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1yYW5nZS5zZ21s ICAgICAgICAgICAgIHwgIDQyICsrKysrCiBzcmMvYmFja2VuZC91dGlscy9hZHQvbXVsdGlyYW5n ZXR5cGVzLmMgICAgICAgfCAgNzEgKysrKysrKysKIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9yYW5n ZXR5cGVzLmMgICAgICAgICAgICB8IDE2NiArKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRl L2NhdGFsb2cvcGdfcHJvYy5kYXQgICAgICAgICAgICAgICB8ICAgOCArCiBzcmMvaW5jbHVkZS91 dGlscy9yYW5nZXR5cGVzLmggICAgICAgICAgICAgICAgfCAgIDIgKwogc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9tdWx0aXJhbmdldHlwZXMub3V0IHwgMTE2ICsrKysrKysrKysrKwogc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9yYW5nZXR5cGVzLm91dCAgICAgIHwgIDU0ICsrKysrKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5cGVzLnNxbCAgICAgIHwgIDIyICsrKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvcmFuZ2V0eXBlcy5zcWwgICAgICAgICAgIHwgIDEwICsrCiA5IGZp bGVzIGNoYW5nZWQsIDQ5MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1yYW5nZS5zZ21sIGIvZG9jL3NyYy9zZ21sL2Z1bmMvZnVuYy1yYW5nZS5zZ21s CmluZGV4IDJkYzQwMzQ4YTU3Li5hNDE4N2Q4NDA2YyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21s L2Z1bmMvZnVuYy1yYW5nZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9mdW5jL2Z1bmMtcmFuZ2Uu c2dtbApAQCAtODQyLDYgKzg0MiwyOSBAQAogICAgICAgICA8cmV0dXJudmFsdWU+WzEsNCk8L3Jl dHVybnZhbHVlPgogICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICAgPC9yb3c+CisKKyAgICAg IDxyb3c+CisgICAgICAgPGVudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9 ImZ1bmNfc2lnbmF0dXJlIj4KKyAgICAgICAgPGluZGV4dGVybT4KKyAgICAgICAgIDxwcmltYXJ5 PnJhbmdlX21pbnVzX211bHRpPC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAgICAg ICAgPGZ1bmN0aW9uPnJhbmdlX21pbnVzX211bHRpPC9mdW5jdGlvbj4gKCA8dHlwZT5hbnlyYW5n ZTwvdHlwZT4sIDx0eXBlPmFueXJhbmdlPC90eXBlPiApCisgICAgICAgIDxyZXR1cm52YWx1ZT5z ZXRvZiBhbnlyYW5nZTwvcmV0dXJudmFsdWU+CisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJh PgorICAgICAgICBSZXR1cm5zIHRoZSBub24tZW1wdHkgcmFuZ2UocykgcmVtYWluaW5nIGFmdGVy IHN1YnRyYWN0aW5nIHRoZSBzZWNvbmQgcmFuZ2UgZnJvbSB0aGUgZmlyc3QuCisgICAgICAgIE9u ZSByb3cgaXMgcmV0dXJuZWQgZm9yIGVhY2ggcmFuZ2UsIHNvIGlmIHRoZSBzZWNvbmQgcmFuZ2Ug c3BsaXRzIHRoZSBmaXJzdCBpbnRvIHR3byBwYXJ0cywKKyAgICAgICAgdGhlcmUgd2lsbCBiZSB0 d28gcmVzdWx0cy4gSWYgdGhlIHN1YnRyYWN0aW9uIHlpZWxkcyBhbiBlbXB0eSByYW5nZSwgbm8g cm93cyBhcmUgcmV0dXJuZWQuCisgICAgICAgPC9wYXJhPgorICAgICAgIDxwYXJhPgorICAgICAg ICA8bGl0ZXJhbD5yYW5nZV9taW51c19tdWx0aSgnWzAsMTApJzo6aW50NHJhbmdlLCAnWzMsNCkn OjppbnQ0cmFuZ2UpPC9saXRlcmFsPgorICAgICAgICA8cmV0dXJudmFsdWU+PC9yZXR1cm52YWx1 ZT4KKzxwcm9ncmFtbGlzdGluZz4KKyBbMCwzKQorIFs0LDEwKQorPC9wcm9ncmFtbGlzdGluZz4K KyAgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgIDwvcm93PgogICAgICA8L3Rib2R5PgogICAg IDwvdGdyb3VwPgogICAgPC90YWJsZT4KQEAgLTEwNDEsNiArMTA2NCwyNSBAQAogPC9wcm9ncmFt bGlzdGluZz4KICAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgIDwvcm93PgorCisgICAgICA8 cm93PgorICAgICAgIDxlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJm dW5jX3NpZ25hdHVyZSI+CisgICAgICAgIDxpbmRleHRlcm0+CisgICAgICAgICA8cHJpbWFyeT5t dWx0aXJhbmdlX21pbnVzX211bHRpPC9wcmltYXJ5PgorICAgICAgICA8L2luZGV4dGVybT4KKyAg ICAgICAgPGZ1bmN0aW9uPm11bHRpcmFuZ2VfbWludXNfbXVsdGk8L2Z1bmN0aW9uPiAoIDx0eXBl PmFueW11bHRpcmFuZ2U8L3R5cGU+LCA8dHlwZT5hbnltdWx0aXJhbmdlPC90eXBlPiApCisgICAg ICAgIDxyZXR1cm52YWx1ZT5zZXRvZiBhbnltdWx0aXJhbmdlPC9yZXR1cm52YWx1ZT4KKyAgICAg ICA8L3BhcmE+CisgICAgICAgPHBhcmE+CisgICAgICAgIFJldHVybnMgdGhlIG5vbi1lbXB0eSBt dWx0aXJhbmdlKHMpIHJlbWFpbmluZyBhZnRlciBzdWJ0cmFjdGluZyB0aGUgc2Vjb25kIG11bHRp cmFuZ2UgZnJvbSB0aGUgZmlyc3QuCisgICAgICAgIElmIHRoZSBzdWJ0cmFjdGlvbiB5aWVsZHMg YW4gZW1wdHkgbXVsdGlyYW5nZSwgbm8gcm93cyBhcmUgcmV0dXJuZWQuCisgICAgICAgIFR3byBy b3dzIGFyZSBuZXZlciByZXR1cm5lZCwgYmVjYXVzZSBhIHNpbmdsZSBtdWx0aXJhbmdlIGNhbiBh bHdheXMgYWNjb21tb2RhdGUgYW55IHJlc3VsdC4KKyAgICAgICA8L3BhcmE+CisgICAgICAgPHBh cmE+CisgICAgICAgIDxsaXRlcmFsPnJhbmdlX21pbnVzX211bHRpKCdbMCwxMCknOjppbnQ0cmFu Z2UsICdbMyw0KSc6OmludDRyYW5nZSk8L2xpdGVyYWw+CisgICAgICAgIDxyZXR1cm52YWx1ZT57 WzAsMyksIFs0LDEwKX08L3JldHVybnZhbHVlPgorICAgICAgIDwvcGFyYT48L2VudHJ5PgorICAg ICAgPC9yb3c+CiAgICAgIDwvdGJvZHk+CiAgICAgPC90Z3JvdXA+CiAgICA8L3RhYmxlPgpkaWZm IC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L211bHRpcmFuZ2V0eXBlcy5jIGIvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L211bHRpcmFuZ2V0eXBlcy5jCmluZGV4IDg0NzMzZGM1MDE5Li5lM2Ux MDMxOGYyNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L211bHRpcmFuZ2V0eXBl cy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9tdWx0aXJhbmdldHlwZXMuYwpAQCAtMTIy Niw2ICsxMjI2LDc3IEBAIG11bHRpcmFuZ2VfbWludXNfaW50ZXJuYWwoT2lkIG1sdHJuZ3R5cG9p ZCwgVHlwZUNhY2hlRW50cnkgKnJhbmdldHlwLAogCXJldHVybiBtYWtlX211bHRpcmFuZ2UobWx0 cm5ndHlwb2lkLCByYW5nZXR5cCwgcmFuZ2VfY291bnQzLCByYW5nZXMzKTsKIH0KIAorLyoKKyAq IG11bHRpcmFuZ2VfbWludXNfbXVsdGkgLSBsaWtlIG11bHRpcmFuZ2VfbWludXMgYnV0IHJldHVy bmluZyB0aGUgcmVzdWx0IGFzIGEgU1JGLAorICogd2l0aCBubyByb3dzIGlmIHRoZSByZXN1bHQg d291bGQgYmUgZW1wdHkuCisgKi8KK0RhdHVtCittdWx0aXJhbmdlX21pbnVzX211bHRpKFBHX0ZV TkNUSU9OX0FSR1MpCit7CisJRnVuY0NhbGxDb250ZXh0ICpmdW5jY3R4OworCU1lbW9yeUNvbnRl eHQgb2xkY29udGV4dDsKKworCWlmICghU1JGX0lTX0ZJUlNUQ0FMTCgpKQorCXsKKwkJLyogV2Ug bmV2ZXIgaGF2ZSBtb3JlIHRoYW4gb25lIHJlc3VsdCAqLworCQlmdW5jY3R4ID0gU1JGX1BFUkNB TExfU0VUVVAoKTsKKwkJU1JGX1JFVFVSTl9ET05FKGZ1bmNjdHgpOworCX0KKwllbHNlCisJewor CQlNdWx0aXJhbmdlVHlwZSAqbXIxOworCQlNdWx0aXJhbmdlVHlwZSAqbXIyOworCQlPaWQJCQlt bHRybmd0eXBvaWQ7CisJCVR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZTsKKwkJVHlwZUNhY2hlRW50 cnkgKnJhbmdldHlwOworCQlpbnQzMgkJcmFuZ2VfY291bnQxOworCQlpbnQzMgkJcmFuZ2VfY291 bnQyOworCQlSYW5nZVR5cGUgKipyYW5nZXMxOworCQlSYW5nZVR5cGUgKipyYW5nZXMyOworCQlN dWx0aXJhbmdlVHlwZSAqbXI7CisKKwkJZnVuY2N0eCA9IFNSRl9GSVJTVENBTExfSU5JVCgpOwor CisJCS8qCisJCSAqIHN3aXRjaCB0byBtZW1vcnkgY29udGV4dCBhcHByb3ByaWF0ZSBmb3IgbXVs dGlwbGUgZnVuY3Rpb24gY2FsbHMKKwkJICovCisJCW9sZGNvbnRleHQgPSBNZW1vcnlDb250ZXh0 U3dpdGNoVG8oZnVuY2N0eC0+bXVsdGlfY2FsbF9tZW1vcnlfY3R4KTsKKworCQkvKiBnZXQgYXJn cywgZGV0b2FzdGluZyBpbnRvIG11bHRpLWNhbGwgbWVtb3J5IGNvbnRleHQgKi8KKwkJbXIxID0g UEdfR0VUQVJHX01VTFRJUkFOR0VfUCgwKTsKKwkJbXIyID0gUEdfR0VUQVJHX01VTFRJUkFOR0Vf UCgxKTsKKworCQltbHRybmd0eXBvaWQgPSBNdWx0aXJhbmdlVHlwZUdldE9pZChtcjEpOworCQl0 eXBjYWNoZSA9IGxvb2t1cF90eXBlX2NhY2hlKG1sdHJuZ3R5cG9pZCwgVFlQRUNBQ0hFX01VTFRJ UkFOR0VfSU5GTyk7CisJCWlmICh0eXBjYWNoZS0+cm5ndHlwZSA9PSBOVUxMKQorCQkJZWxvZyhF UlJPUiwgInR5cGUgJXUgaXMgbm90IGEgbXVsdGlyYW5nZSB0eXBlIiwgbWx0cm5ndHlwb2lkKTsK KwkJcmFuZ2V0eXAgPSB0eXBjYWNoZS0+cm5ndHlwZTsKKworCQlpZiAoTXVsdGlyYW5nZUlzRW1w dHkobXIxKSB8fCBNdWx0aXJhbmdlSXNFbXB0eShtcjIpKQorCQkJbXIgPSBtcjE7CisJCWVsc2UK KwkJeworCQkJbXVsdGlyYW5nZV9kZXNlcmlhbGl6ZShyYW5nZXR5cCwgbXIxLCAmcmFuZ2VfY291 bnQxLCAmcmFuZ2VzMSk7CisJCQltdWx0aXJhbmdlX2Rlc2VyaWFsaXplKHJhbmdldHlwLCBtcjIs ICZyYW5nZV9jb3VudDIsICZyYW5nZXMyKTsKKworCQkJbXIgPSBtdWx0aXJhbmdlX21pbnVzX2lu dGVybmFsKG1sdHJuZ3R5cG9pZCwKKwkJCQkJCQkJCQkgICByYW5nZXR5cCwKKwkJCQkJCQkJCQkg ICByYW5nZV9jb3VudDEsCisJCQkJCQkJCQkJICAgcmFuZ2VzMSwKKwkJCQkJCQkJCQkgICByYW5n ZV9jb3VudDIsCisJCQkJCQkJCQkJICAgcmFuZ2VzMik7CisJCX0KKworCQlNZW1vcnlDb250ZXh0 U3dpdGNoVG8ob2xkY29udGV4dCk7CisKKwkJZnVuY2N0eCA9IFNSRl9QRVJDQUxMX1NFVFVQKCk7 CisJCWlmIChNdWx0aXJhbmdlSXNFbXB0eShtcikpCisJCQlTUkZfUkVUVVJOX0RPTkUoZnVuY2N0 eCk7CisJCWVsc2UKKwkJCVNSRl9SRVRVUk5fTkVYVChmdW5jY3R4LCBNdWx0aXJhbmdlVHlwZVBH ZXREYXR1bShtcikpOworCX0KK30KKwogLyogbXVsdGlyYW5nZSBpbnRlcnNlY3Rpb24gKi8KIERh dHVtCiBtdWx0aXJhbmdlX2ludGVyc2VjdChQR19GVU5DVElPTl9BUkdTKQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JhbmdldHlwZXMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2Fk dC9yYW5nZXR5cGVzLmMKaW5kZXggMGIyYWQ4YjA5NzUuLjZjODhmYThjOWI5IDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC91dGlscy9hZHQvcmFuZ2V0eXBlcy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9yYW5nZXR5cGVzLmMKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJwb3N0Z3Jl cy5oIgogCiAjaW5jbHVkZSAiY29tbW9uL2hhc2hmbi5oIgorI2luY2x1ZGUgImZ1bmNhcGkuaCIK ICNpbmNsdWRlICJsaWJwcS9wcWZvcm1hdC5oIgogI2luY2x1ZGUgIm1pc2NhZG1pbi5oIgogI2lu Y2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgpAQCAtMzksNiArNDAsNyBAQAogI2luY2x1ZGUgIm9w dGltaXplci9jbGF1c2VzLmgiCiAjaW5jbHVkZSAib3B0aW1pemVyL2Nvc3QuaCIKICNpbmNsdWRl ICJvcHRpbWl6ZXIvb3B0aW1pemVyLmgiCisjaW5jbHVkZSAidXRpbHMvYXJyYXkuaCIKICNpbmNs dWRlICJ1dGlscy9idWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2RhdGUuaCIKICNpbmNsdWRl ICJ1dGlscy9sc3lzY2FjaGUuaCIKQEAgLTEyMTQsNiArMTIxNiwxNzAgQEAgcmFuZ2Vfc3BsaXRf aW50ZXJuYWwoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlLCBjb25zdCBSYW5nZVR5cGUgKnIxLCBj b25zdCBSYW5nZVQKIAlyZXR1cm4gZmFsc2U7CiB9CiAKKy8qCisgKiByYW5nZV9taW51c19tdWx0 aSAtIGxpa2UgcmFuZ2VfbWludXMgYnV0IGFzIGEgU1JGIHRvIGFjY29tbW9kYXRlIHNwbGl0cywK KyAqIHdpdGggbm8gcmVzdWx0IHJvd3MgaWYgdGhlIHJlc3VsdCB3b3VsZCBiZSBlbXB0eS4KKyAq LworRGF0dW0KK3JhbmdlX21pbnVzX211bHRpKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJdHlwZWRl ZiBzdHJ1Y3QKKwl7CisJCVJhbmdlVHlwZSAgKnJzWzJdOworCQlpbnQJCQluOworCX0JCQlyYW5n ZV9taW51c19tdWx0aV9mY3R4OworCisJRnVuY0NhbGxDb250ZXh0ICpmdW5jY3R4OworCXJhbmdl X21pbnVzX211bHRpX2ZjdHggKmZjdHg7CisJTWVtb3J5Q29udGV4dCBvbGRjb250ZXh0OworCisJ Lyogc3R1ZmYgZG9uZSBvbmx5IG9uIHRoZSBmaXJzdCBjYWxsIG9mIHRoZSBmdW5jdGlvbiAqLwor CWlmIChTUkZfSVNfRklSU1RDQUxMKCkpCisJeworCQlSYW5nZVR5cGUgICpyMTsKKwkJUmFuZ2VU eXBlICAqcjI7CisJCU9pZAkJCXJuZ3R5cGlkOworCQlUeXBlQ2FjaGVFbnRyeSAqdHlwY2FjaGU7 CisKKwkJLyogY3JlYXRlIGEgZnVuY3Rpb24gY29udGV4dCBmb3IgY3Jvc3MtY2FsbCBwZXJzaXN0 ZW5jZSAqLworCQlmdW5jY3R4ID0gU1JGX0ZJUlNUQ0FMTF9JTklUKCk7CisKKwkJLyoKKwkJICog c3dpdGNoIHRvIG1lbW9yeSBjb250ZXh0IGFwcHJvcHJpYXRlIGZvciBtdWx0aXBsZSBmdW5jdGlv biBjYWxscworCQkgKi8KKwkJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhmdW5j Y3R4LT5tdWx0aV9jYWxsX21lbW9yeV9jdHgpOworCisJCXIxID0gUEdfR0VUQVJHX1JBTkdFX1Ao MCk7CisJCXIyID0gUEdfR0VUQVJHX1JBTkdFX1AoMSk7CisKKwkJLyogRGlmZmVyZW50IHR5cGVz IHNob3VsZCBiZSBwcmV2ZW50ZWQgYnkgQU5ZUkFOR0UgbWF0Y2hpbmcgcnVsZXMgKi8KKwkJaWYg KFJhbmdlVHlwZUdldE9pZChyMSkgIT0gUmFuZ2VUeXBlR2V0T2lkKHIyKSkKKwkJCWVsb2coRVJS T1IsICJyYW5nZSB0eXBlcyBkbyBub3QgbWF0Y2giKTsKKworCQkvKiBhbGxvY2F0ZSBtZW1vcnkg Zm9yIHVzZXIgY29udGV4dCAqLworCQlmY3R4ID0gKHJhbmdlX21pbnVzX211bHRpX2ZjdHggKikg cGFsbG9jKHNpemVvZihyYW5nZV9taW51c19tdWx0aV9mY3R4KSk7CisKKwkJLyoKKwkJICogSW5p dGlhbGl6ZSBzdGF0ZS4gV2UgY2FuJ3Qgc3RvcmUgdGhlIHJhbmdlIHR5cGNhY2hlIGluIGZuX2V4 dHJhCisJCSAqIGJlY2F1c2UgdGhlIGNhbGxlciB1c2VzIHRoYXQgZm9yIHRoZSBTUkYgc3RhdGUu CisJCSAqLworCQlybmd0eXBpZCA9IFJhbmdlVHlwZUdldE9pZChyMSk7CisJCXR5cGNhY2hlID0g bG9va3VwX3R5cGVfY2FjaGUocm5ndHlwaWQsIFRZUEVDQUNIRV9SQU5HRV9JTkZPKTsKKwkJaWYg KHR5cGNhY2hlLT5ybmdlbGVtdHlwZSA9PSBOVUxMKQorCQkJZWxvZyhFUlJPUiwgInR5cGUgJXUg aXMgbm90IGEgcmFuZ2UgdHlwZSIsIHJuZ3R5cGlkKTsKKwkJcmFuZ2VfbWludXNfbXVsdGlfaW50 ZXJuYWwodHlwY2FjaGUsIHIxLCByMiwgZmN0eC0+cnMsICZmY3R4LT5uKTsKKworCQlmdW5jY3R4 LT51c2VyX2ZjdHggPSBmY3R4OworCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY29udGV4dCk7 CisJfQorCisJLyogc3R1ZmYgZG9uZSBvbiBldmVyeSBjYWxsIG9mIHRoZSBmdW5jdGlvbiAqLwor CWZ1bmNjdHggPSBTUkZfUEVSQ0FMTF9TRVRVUCgpOworCWZjdHggPSBmdW5jY3R4LT51c2VyX2Zj dHg7CisKKwlpZiAoZnVuY2N0eC0+Y2FsbF9jbnRyIDwgZmN0eC0+bikKKwl7CisJCS8qCisJCSAq IFdlIG11c3Qga2VlcCB0aGVzZSBvbiBzZXBhcmF0ZSBsaW5lcyBiZWNhdXNlIFNSRl9SRVRVUk5f TkVYVCBkb2VzCisJCSAqIGNhbGxfY250cisrOgorCQkgKi8KKwkJUmFuZ2VUeXBlICAqcmV0ID0g ZmN0eC0+cnNbZnVuY2N0eC0+Y2FsbF9jbnRyXTsKKworCQlTUkZfUkVUVVJOX05FWFQoZnVuY2N0 eCwgUmFuZ2VUeXBlUEdldERhdHVtKHJldCkpOworCX0KKwllbHNlCisJCS8qIGRvIHdoZW4gdGhl cmUgaXMgbm8gbW9yZSBsZWZ0ICovCisJCVNSRl9SRVRVUk5fRE9ORShmdW5jY3R4KTsKK30KKwor LyoKKyAqIHJhbmdlX21pbnVzX211bHRpX2ludGVybmFsIC0gU2V0cyBvdXRwdXRzIGFuZCBvdXRw dXRuIHRvIHRoZSByYW5nZXMKKyAqIHJlbWFpbmluZyBhbmQgdGhlaXIgY291bnQgKHJlc3BlY3Rp dmVseSkgYWZ0ZXIgc3VidHJhY3RpbmcgcjIgZnJvbSByMS4KKyAqIFRoZSBhcnJheSBzaG91bGQg bmV2ZXIgY29udGFpbiBlbXB0eSByYW5nZXMuCisgKiBUaGUgb3V0cHV0cyB3aWxsIGJlIG9yZGVy ZWQuIFdlIGV4cGVjdCB0aGF0IG91dHB1dHMgaXMgYW4gYXJyYXkgb2YKKyAqIFJhbmdlVHlwZSBw b2ludGVycywgYWxyZWFkeSBhbGxvY2F0ZWQgd2l0aCB0d28gZWxlbWVudHMuCisgKi8KK3ZvaWQK K3JhbmdlX21pbnVzX211bHRpX2ludGVybmFsKFR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZSwgUmFu Z2VUeXBlICpyMSwKKwkJCQkJCSAgIFJhbmdlVHlwZSAqcjIsIFJhbmdlVHlwZSAqKm91dHB1dHMs IGludCAqb3V0cHV0bikKK3sKKwlpbnQJCQljbXBfbDFsMiwKKwkJCQljbXBfbDF1MiwKKwkJCQlj bXBfdTFsMiwKKwkJCQljbXBfdTF1MjsKKwlSYW5nZUJvdW5kCWxvd2VyMSwKKwkJCQlsb3dlcjI7 CisJUmFuZ2VCb3VuZAl1cHBlcjEsCisJCQkJdXBwZXIyOworCWJvb2wJCWVtcHR5MSwKKwkJCQll bXB0eTI7CisKKwlyYW5nZV9kZXNlcmlhbGl6ZSh0eXBjYWNoZSwgcjEsICZsb3dlcjEsICZ1cHBl cjEsICZlbXB0eTEpOworCXJhbmdlX2Rlc2VyaWFsaXplKHR5cGNhY2hlLCByMiwgJmxvd2VyMiwg JnVwcGVyMiwgJmVtcHR5Mik7CisKKwlpZiAoZW1wdHkxKQorCXsKKwkJLyogaWYgcjEgaXMgZW1w dHkgdGhlbiByMSAtIHIyIGlzIGVtcHR5LCBzbyByZXR1cm4gemVybyByZXN1bHRzICovCisJCSpv dXRwdXRuID0gMDsKKwkJcmV0dXJuOworCX0KKwllbHNlIGlmIChlbXB0eTIpCisJeworCQkvKiBy MiBpcyBlbXB0eSBzbyB0aGUgcmVzdWx0IGlzIGp1c3QgcjEgKHdoaWNoIHdlIGtub3cgaXMgbm90 IGVtcHR5KSAqLworCQlvdXRwdXRzWzBdID0gcjE7CisJCSpvdXRwdXRuID0gMTsKKwkJcmV0dXJu OworCX0KKworCS8qCisJICogVXNlIHRoZSBzYW1lIGxvZ2ljIGFzIHJhbmdlX21pbnVzX2ludGVy bmFsLCBidXQgc3VwcG9ydCB0aGUgc3BsaXQgY2FzZQorCSAqLworCWNtcF9sMWwyID0gcmFuZ2Vf Y21wX2JvdW5kcyh0eXBjYWNoZSwgJmxvd2VyMSwgJmxvd2VyMik7CisJY21wX2wxdTIgPSByYW5n ZV9jbXBfYm91bmRzKHR5cGNhY2hlLCAmbG93ZXIxLCAmdXBwZXIyKTsKKwljbXBfdTFsMiA9IHJh bmdlX2NtcF9ib3VuZHModHlwY2FjaGUsICZ1cHBlcjEsICZsb3dlcjIpOworCWNtcF91MXUyID0g cmFuZ2VfY21wX2JvdW5kcyh0eXBjYWNoZSwgJnVwcGVyMSwgJnVwcGVyMik7CisKKwlpZiAoY21w X2wxbDIgPCAwICYmIGNtcF91MXUyID4gMCkKKwl7CisJCWxvd2VyMi5pbmNsdXNpdmUgPSAhbG93 ZXIyLmluY2x1c2l2ZTsKKwkJbG93ZXIyLmxvd2VyID0gZmFsc2U7CS8qIGl0IHdpbGwgYmVjb21l IHRoZSB1cHBlciBib3VuZCAqLworCQlvdXRwdXRzWzBdID0gbWFrZV9yYW5nZSh0eXBjYWNoZSwg Jmxvd2VyMSwgJmxvd2VyMiwgZmFsc2UsIE5VTEwpOworCisJCXVwcGVyMi5pbmNsdXNpdmUgPSAh dXBwZXIyLmluY2x1c2l2ZTsKKwkJdXBwZXIyLmxvd2VyID0gdHJ1ZTsJLyogaXQgd2lsbCBiZWNv bWUgdGhlIGxvd2VyIGJvdW5kICovCisJCW91dHB1dHNbMV0gPSBtYWtlX3JhbmdlKHR5cGNhY2hl LCAmdXBwZXIyLCAmdXBwZXIxLCBmYWxzZSwgTlVMTCk7CisKKwkJKm91dHB1dG4gPSAyOworCX0K KwllbHNlIGlmIChjbXBfbDF1MiA+IDAgfHwgY21wX3UxbDIgPCAwKQorCXsKKwkJb3V0cHV0c1sw XSA9IHIxOworCQkqb3V0cHV0biA9IDE7CisJfQorCWVsc2UgaWYgKGNtcF9sMWwyID49IDAgJiYg Y21wX3UxdTIgPD0gMCkKKwl7CisJCSpvdXRwdXRuID0gMDsKKwl9CisJZWxzZSBpZiAoY21wX2wx bDIgPD0gMCAmJiBjbXBfdTFsMiA+PSAwICYmIGNtcF91MXUyIDw9IDApCisJeworCQlsb3dlcjIu aW5jbHVzaXZlID0gIWxvd2VyMi5pbmNsdXNpdmU7CisJCWxvd2VyMi5sb3dlciA9IGZhbHNlOwkv KiBpdCB3aWxsIGJlY29tZSB0aGUgdXBwZXIgYm91bmQgKi8KKwkJb3V0cHV0c1swXSA9IG1ha2Vf cmFuZ2UodHlwY2FjaGUsICZsb3dlcjEsICZsb3dlcjIsIGZhbHNlLCBOVUxMKTsKKwkJKm91dHB1 dG4gPSAxOworCX0KKwllbHNlIGlmIChjbXBfbDFsMiA+PSAwICYmIGNtcF91MXUyID49IDAgJiYg Y21wX2wxdTIgPD0gMCkKKwl7CisJCXVwcGVyMi5pbmNsdXNpdmUgPSAhdXBwZXIyLmluY2x1c2l2 ZTsKKwkJdXBwZXIyLmxvd2VyID0gdHJ1ZTsJLyogaXQgd2lsbCBiZWNvbWUgdGhlIGxvd2VyIGJv dW5kICovCisJCW91dHB1dHNbMF0gPSBtYWtlX3JhbmdlKHR5cGNhY2hlLCAmdXBwZXIyLCAmdXBw ZXIxLCBmYWxzZSwgTlVMTCk7CisJCSpvdXRwdXRuID0gMTsKKwl9CisJZWxzZQorCXsKKwkJZWxv ZyhFUlJPUiwgInVuZXhwZWN0ZWQgY2FzZSBpbiByYW5nZV9taW51c19tdWx0aSIpOworCX0KK30K KwogLyogcmFuZ2UgLT4gcmFuZ2UgYWdncmVnYXRlIGZ1bmN0aW9ucyAqLwogCiBEYXR1bQpkaWZm IC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggYjUxZDJiMTczNzkuLmQ2NDdhOGQwNmY4IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CisrKyBiL3NyYy9pbmNsdWRlL2Nh dGFsb2cvcGdfcHJvYy5kYXQKQEAgLTEwOTM5LDYgKzEwOTM5LDEwIEBACiB7IG9pZCA9PiAnMzg2 OScsCiAgIHByb25hbWUgPT4gJ3JhbmdlX21pbnVzJywgcHJvcmV0dHlwZSA9PiAnYW55cmFuZ2Un LAogICBwcm9hcmd0eXBlcyA9PiAnYW55cmFuZ2UgYW55cmFuZ2UnLCBwcm9zcmMgPT4gJ3Jhbmdl X21pbnVzJyB9LAoreyBvaWQgPT4gJzg0MTInLCBkZXNjciA9PiAncmVtb3ZlIHBvcnRpb24gZnJv bSByYW5nZScsCisgIHByb25hbWUgPT4gJ3JhbmdlX21pbnVzX211bHRpJywgcHJvcm93cyA9PiAn MicsCisgIHByb3JldHNldCA9PiAndCcsIHByb3JldHR5cGUgPT4gJ2FueXJhbmdlJywKKyAgcHJv YXJndHlwZXMgPT4gJ2FueXJhbmdlIGFueXJhbmdlJywgcHJvc3JjID0+ICdyYW5nZV9taW51c19t dWx0aScgfSwKIHsgb2lkID0+ICczODcwJywgZGVzY3IgPT4gJ2xlc3MtZXF1YWwtZ3JlYXRlcics CiAgIHByb25hbWUgPT4gJ3JhbmdlX2NtcCcsIHByb3JldHR5cGUgPT4gJ2ludDQnLAogICBwcm9h cmd0eXBlcyA9PiAnYW55cmFuZ2UgYW55cmFuZ2UnLCBwcm9zcmMgPT4gJ3JhbmdlX2NtcCcgfSwK QEAgLTExMjI5LDYgKzExMjMzLDEwIEBACiB7IG9pZCA9PiAnNDI3MScsCiAgIHByb25hbWUgPT4g J211bHRpcmFuZ2VfbWludXMnLCBwcm9yZXR0eXBlID0+ICdhbnltdWx0aXJhbmdlJywKICAgcHJv YXJndHlwZXMgPT4gJ2FueW11bHRpcmFuZ2UgYW55bXVsdGlyYW5nZScsIHByb3NyYyA9PiAnbXVs dGlyYW5nZV9taW51cycgfSwKK3sgb2lkID0+ICc4NDExJywgZGVzY3IgPT4gJ3JlbW92ZSBwb3J0 aW9uIGZyb20gbXVsdGlyYW5nZScsCisgIHByb25hbWUgPT4gJ211bHRpcmFuZ2VfbWludXNfbXVs dGknLCBwcm9yb3dzID0+ICcxJywKKyAgcHJvcmV0c2V0ID0+ICd0JywgcHJvcmV0dHlwZSA9PiAn YW55bXVsdGlyYW5nZScsCisgIHByb2FyZ3R5cGVzID0+ICdhbnltdWx0aXJhbmdlIGFueW11bHRp cmFuZ2UnLCBwcm9zcmMgPT4gJ211bHRpcmFuZ2VfbWludXNfbXVsdGknIH0sCiB7IG9pZCA9PiAn NDI3MicsCiAgIHByb25hbWUgPT4gJ211bHRpcmFuZ2VfaW50ZXJzZWN0JywgcHJvcmV0dHlwZSA9 PiAnYW55bXVsdGlyYW5nZScsCiAgIHByb2FyZ3R5cGVzID0+ICdhbnltdWx0aXJhbmdlIGFueW11 bHRpcmFuZ2UnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvcmFuZ2V0eXBlcy5oIGIv c3JjL2luY2x1ZGUvdXRpbHMvcmFuZ2V0eXBlcy5oCmluZGV4IDUwYWRiM2M4YzEzLi44MzZmMmIw OTE0YiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvdXRpbHMvcmFuZ2V0eXBlcy5oCisrKyBiL3Ny Yy9pbmNsdWRlL3V0aWxzL3JhbmdldHlwZXMuaApAQCAtMTY0LDUgKzE2NCw3IEBAIGV4dGVybiBS YW5nZVR5cGUgKm1ha2VfZW1wdHlfcmFuZ2UoVHlwZUNhY2hlRW50cnkgKnR5cGNhY2hlKTsKIGV4 dGVybiBib29sIHJhbmdlX3NwbGl0X2ludGVybmFsKFR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZSwg Y29uc3QgUmFuZ2VUeXBlICpyMSwKIAkJCQkJCQkJIGNvbnN0IFJhbmdlVHlwZSAqcjIsIFJhbmdl VHlwZSAqKm91dHB1dDEsCiAJCQkJCQkJCSBSYW5nZVR5cGUgKipvdXRwdXQyKTsKK2V4dGVybiB2 b2lkIHJhbmdlX21pbnVzX211bHRpX2ludGVybmFsKFR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZSwg UmFuZ2VUeXBlICpyMSwKKwkJCQkJCQkJCSAgIFJhbmdlVHlwZSAqcjIsIFJhbmdlVHlwZSAqKm91 dHB1dHMsIGludCAqb3V0cHV0bik7CiAKICNlbmRpZgkJCQkJCQkvKiBSQU5HRVRZUEVTX0ggKi8K ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91dAppbmRleCA2 M2RlNGQwOWIxNS4uZjVlN2RmOGRmNDMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvbXVsdGlyYW5nZXR5cGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L211bHRpcmFuZ2V0eXBlcy5vdXQKQEAgLTIyMDAsNiArMjIwMCwxMjIgQEAgU0VMRUNUIG51bW11 bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSkgLSBudW1tdWx0aXJhbmdlKG51 bXJhbmdlKC0yLDAKICB7WzEsMiksWzQsNSl9CiAoMSByb3cpCiAKKy0tIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UoKSwg bnVtbXVsdGlyYW5nZSgpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShu dW1tdWx0aXJhbmdlKCksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworIG11bHRpcmFu Z2VfbWludXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJvd3MpCisKK1NF TEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSks IG51bW11bHRpcmFuZ2UoKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIHtbMSwyKX0KKygxIHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSgzLDQpKSwgbnVt bXVsdGlyYW5nZSgpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisge1sxLDIpLFszLDQpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9t aW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51 bXJhbmdlKDEsMikpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1t dWx0aXJhbmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsNCkpKTsK KyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sx LDIpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDMsNCkpKTsKKyBtdWx0 aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpfQor KDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51 bXJhbmdlKDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpKTsKKyBtdWx0aXJhbmdl X21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1syLDQpfQorKDEgcm93 KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsMykpKTsKKyBtdWx0aXJhbmdlX21pbnVz X211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpLFszLDQpfQorKDEgcm93 KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsOCkpKTsKKyBtdWx0aXJhbmdlX21pbnVz X211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisoMCByb3dzKQorCitTRUxFQ1QgbXVs dGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsNCkpLCBudW1tdWx0 aXJhbmdlKG51bXJhbmdlKDAsMikpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisge1syLDQpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5n ZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsOCkpLCBudW1tdWx0aXJhbmdl KG51bXJhbmdlKDAsMiksIG51bXJhbmdlKDMsNCkpKTsKKyBtdWx0aXJhbmdlX21pbnVzX211bHRp IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1syLDMpLFs0LDgpfQorKDEgcm93KQorCitT RUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsOCkp LCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsMyksIG51bXJhbmdlKDUsbnVsbCkpKTsKKyBtdWx0 aXJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisge1sxLDIpLFsz LDUpfQorKDEgcm93KQorCitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdl KC0yLDApKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIHtbMSwyKSxbNCw1KX0KKygxIHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNf bXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVs dGlyYW5nZShudW1yYW5nZSgyLDQpKSk7CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbMSwyKSxbNCw1KX0KKygxIHJvdykKKworU0VMRUNUIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5n ZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgzLDUpKSk7CisgbXVsdGlyYW5nZV9taW51 c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbMSwyKX0KKygxIHJvdykKKwor U0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIp LCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgwLDkpKSk7CisgbXVsdGly YW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykKKwor U0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDMp LCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgyLDkpKSk7CisgbXVsdGly YW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtbMSwyKX0KKygx IHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1y YW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSg4LDkpKSk7 CisgbXVsdGlyYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHtb MSwyKSxbNCw1KX0KKygxIHJvdykKKworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVt bXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShu dW1yYW5nZSgtMiwwKSwgbnVtcmFuZ2UoOCw5KSkpOworIG11bHRpcmFuZ2VfbWludXNfbXVsdGkg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyB7WzEsMiksWzQsNSl9CisoMSByb3cpCisKIC0t IGludGVyc2VjdGlvbgogU0VMRUNUIG51bW11bHRpcmFuZ2UoKSAqIG51bW11bHRpcmFuZ2UoKTsK ICA/Y29sdW1uPyAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmFuZ2V0 eXBlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JhbmdldHlwZXMub3V0CmluZGV4 IGNkZDk1Nzk5Y2Q1Li5lMDYyYTRlNWMyYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9yYW5nZXR5cGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jh bmdldHlwZXMub3V0CkBAIC00ODEsNiArNDgxLDYwIEBAIHNlbGVjdCByYW5nZV9taW51cyhudW1y YW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51bXJhbmdlKDAuMCwxMjAuMiwnKF0nKSk7CiAgZW1wdHkK ICgxIHJvdykKIAorc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKCdlbXB0eSc6Om51bXJhbmdlLCBu dW1yYW5nZSgyLjAsIDMuMCkpOworIHJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0t LS0tLQorKDAgcm93cykKKworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJhbmdlKDEuMSwg Mi4yKSwgJ2VtcHR5Jzo6bnVtcmFuZ2UpOworIHJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0t LS0tLS0tLS0tLQorIFsxLjEsMi4yKQorKDEgcm93KQorCitzZWxlY3QgcmFuZ2VfbWludXNfbXVs dGkobnVtcmFuZ2UoMS4xLCAyLjIpLCBudW1yYW5nZSgyLjAsIDMuMCkpOworIHJhbmdlX21pbnVz X211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsxLjEsMi4wKQorKDEgcm93KQorCitzZWxl Y3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIpLCBudW1yYW5nZSgyLjIsIDMu MCkpOworIHJhbmdlX21pbnVzX211bHRpIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorIFsxLjEsMi4y KQorKDEgcm93KQorCitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIs J1tdJyksIG51bXJhbmdlKDIuMCwgMy4wKSk7CisgcmFuZ2VfbWludXNfbXVsdGkgCistLS0tLS0t LS0tLS0tLS0tLS0tCisgWzEuMSwyLjApCisoMSByb3cpCisKK3NlbGVjdCByYW5nZV9taW51c19t dWx0aShudW1yYW5nZSgxLjAsIDMuMCksIG51bXJhbmdlKDEuNSwgMi4wKSk7CisgcmFuZ2VfbWlu dXNfbXVsdGkgCistLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEuMCwxLjUpCisgWzIuMCwzLjApCiso MiByb3dzKQorCitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMTAuMSwxMi4yLCdb XScpLCBudW1yYW5nZSgxMTAuMCwxMjAuMiwnKF0nKSk7CisgcmFuZ2VfbWludXNfbXVsdGkgCist LS0tLS0tLS0tLS0tLS0tLS0tCisgWzEwLjEsMTIuMl0KKygxIHJvdykKKworc2VsZWN0IHJhbmdl X21pbnVzX211bHRpKG51bXJhbmdlKDEwLjEsMTIuMiwnW10nKSwgbnVtcmFuZ2UoMC4wLDEyMC4y LCcoXScpKTsKKyByYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKygwIHJv d3MpCisKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxLjAsMy4wLCdbXScpLCBu dW1yYW5nZSgxLjUsMi4wLCcoXScpKTsKKyByYW5nZV9taW51c19tdWx0aSAKKy0tLS0tLS0tLS0t LS0tLS0tLS0KKyBbMS4wLDEuNV0KKyAoMi4wLDMuMF0KKygyIHJvd3MpCisKIHNlbGVjdCBudW1y YW5nZSg0LjUsIDUuNSwgJ1tdJykgJiYgbnVtcmFuZ2UoNS41LCA2LjUpOwogID9jb2x1bW4/IAog LS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvbXVsdGlyYW5nZXR5 cGVzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL211bHRpcmFuZ2V0eXBlcy5zcWwKaW5kZXgg NDFkNTUyNDI4NWEuLjExMjMzNGIwM2ViIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9tdWx0aXJhbmdldHlwZXMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL211bHRpcmFu Z2V0eXBlcy5zcWwKQEAgLTQxNCw2ICs0MTQsMjggQEAgU0VMRUNUIG51bW11bHRpcmFuZ2UobnVt cmFuZ2UoMSwzKSwgbnVtcmFuZ2UoNCw1KSkgLSBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIsOSkK IFNFTEVDVCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkpIC0gbnVt bXVsdGlyYW5nZShudW1yYW5nZSg4LDkpKTsKIFNFTEVDVCBudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsMiksIG51bXJhbmdlKDQsNSkpIC0gbnVtbXVsdGlyYW5nZShudW1yYW5nZSgtMiwwKSwgbnVt cmFuZ2UoOCw5KSk7CiAKKy0tIG11bHRpcmFuZ2VfbWludXNfbXVsdGkKK1NFTEVDVCBtdWx0aXJh bmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UoKSwgbnVtbXVsdGlyYW5nZSgpKTsKK1NFTEVD VCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UoKSwgbnVtbXVsdGlyYW5nZShu dW1yYW5nZSgxLDIpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJh bmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKCkpOworU0VMRUNUIG11bHRpcmFuZ2Vf bWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5nZSgzLDQpKSwg bnVtbXVsdGlyYW5nZSgpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRp cmFuZ2UobnVtcmFuZ2UoMSwyKSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworU0VM RUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpKSwg bnVtbXVsdGlyYW5nZShudW1yYW5nZSgyLDQpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19t dWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdl KDMsNCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVt cmFuZ2UoMSw0KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSkpOworU0VMRUNUIG11bHRp cmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDQpKSwgbnVtbXVsdGly YW5nZShudW1yYW5nZSgyLDMpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1t dWx0aXJhbmdlKG51bXJhbmdlKDEsNCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsOCkpKTsK K1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSw0 KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMCwyKSkpOworU0VMRUNUIG11bHRpcmFuZ2VfbWlu dXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDgpKSwgbnVtbXVsdGlyYW5nZShudW1y YW5nZSgwLDIpLCBudW1yYW5nZSgzLDQpKSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0 aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsOCkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDIs MyksIG51bXJhbmdlKDUsbnVsbCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51 bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2Uo bnVtcmFuZ2UoLTIsMCkpKTsKK1NFTEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRp cmFuZ2UobnVtcmFuZ2UoMSwyKSwgbnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2UobnVtcmFu Z2UoMiw0KSkpOworU0VMRUNUIG11bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShu dW1yYW5nZSgxLDIpLCBudW1yYW5nZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSgzLDUp KSk7CitTRUxFQ1QgbXVsdGlyYW5nZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdl KDEsMiksIG51bXJhbmdlKDQsNSkpLCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDAsOSkpKTsKK1NF TEVDVCBtdWx0aXJhbmdlX21pbnVzX211bHRpKG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMSwzKSwg bnVtcmFuZ2UoNCw1KSksIG51bW11bHRpcmFuZ2UobnVtcmFuZ2UoMiw5KSkpOworU0VMRUNUIG11 bHRpcmFuZ2VfbWludXNfbXVsdGkobnVtbXVsdGlyYW5nZShudW1yYW5nZSgxLDIpLCBudW1yYW5n ZSg0LDUpKSwgbnVtbXVsdGlyYW5nZShudW1yYW5nZSg4LDkpKSk7CitTRUxFQ1QgbXVsdGlyYW5n ZV9taW51c19tdWx0aShudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMiksIG51bXJhbmdlKDQsNSkp LCBudW1tdWx0aXJhbmdlKG51bXJhbmdlKC0yLDApLCBudW1yYW5nZSg4LDkpKSk7CisKIC0tIGlu dGVyc2VjdGlvbgogU0VMRUNUIG51bW11bHRpcmFuZ2UoKSAqIG51bW11bHRpcmFuZ2UoKTsKIFNF TEVDVCBudW1tdWx0aXJhbmdlKCkgKiBudW1tdWx0aXJhbmdlKG51bXJhbmdlKDEsMikpOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmFuZ2V0eXBlcy5zcWwgYi9zcmMvdGVzdC9y ZWdyZXNzL3NxbC9yYW5nZXR5cGVzLnNxbAppbmRleCBhNWVjZGY1MzcyZi4uNWM0YjAzMzdiN2Eg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JhbmdldHlwZXMuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3JhbmdldHlwZXMuc3FsCkBAIC0xMDcsNiArMTA3LDE2IEBAIHNl bGVjdCBudW1yYW5nZSgxLjEsIDIuMiwnW10nKSAtIG51bXJhbmdlKDIuMCwgMy4wKTsKIHNlbGVj dCByYW5nZV9taW51cyhudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51bXJhbmdlKDExMC4wLDEy MC4yLCcoXScpKTsKIHNlbGVjdCByYW5nZV9taW51cyhudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyks IG51bXJhbmdlKDAuMCwxMjAuMiwnKF0nKSk7CiAKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aSgn ZW1wdHknOjpudW1yYW5nZSwgbnVtcmFuZ2UoMi4wLCAzLjApKTsKK3NlbGVjdCByYW5nZV9taW51 c19tdWx0aShudW1yYW5nZSgxLjEsIDIuMiksICdlbXB0eSc6Om51bXJhbmdlKTsKK3NlbGVjdCBy YW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxLjEsIDIuMiksIG51bXJhbmdlKDIuMCwgMy4wKSk7 CitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFuZ2UoMS4xLCAyLjIpLCBudW1yYW5nZSgy LjIsIDMuMCkpOworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJhbmdlKDEuMSwgMi4yLCdb XScpLCBudW1yYW5nZSgyLjAsIDMuMCkpOworc2VsZWN0IHJhbmdlX21pbnVzX211bHRpKG51bXJh bmdlKDEuMCwgMy4wKSwgbnVtcmFuZ2UoMS41LCAyLjApKTsKK3NlbGVjdCByYW5nZV9taW51c19t dWx0aShudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51bXJhbmdlKDExMC4wLDEyMC4yLCcoXScp KTsKK3NlbGVjdCByYW5nZV9taW51c19tdWx0aShudW1yYW5nZSgxMC4xLDEyLjIsJ1tdJyksIG51 bXJhbmdlKDAuMCwxMjAuMiwnKF0nKSk7CitzZWxlY3QgcmFuZ2VfbWludXNfbXVsdGkobnVtcmFu Z2UoMS4wLDMuMCwnW10nKSwgbnVtcmFuZ2UoMS41LDIuMCwnKF0nKSk7CisKIHNlbGVjdCBudW1y YW5nZSg0LjUsIDUuNSwgJ1tdJykgJiYgbnVtcmFuZ2UoNS41LCA2LjUpOwogc2VsZWN0IG51bXJh bmdlKDEuMCwgMi4wKSA8PCBudW1yYW5nZSgzLjAsIDQuMCk7CiBzZWxlY3QgbnVtcmFuZ2UoMS4w LCAzLjAsJ1tdJykgPDwgbnVtcmFuZ2UoMy4wLCA0LjAsJ1tdJyk7Ci0tIAoyLjM5LjUKCg== --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0001-Add-docs-chapter-for-temporal-tables.patch" Content-Disposition: attachment; filename="v56-0001-Add-docs-chapter-for-temporal-tables.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4q40 RnJvbSBlOGYzNGViOGE1Y2U5ZTMzYTgxMzY0NDlhNWJjYjBjYmI3NGU0OTA2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMTc6MTI6MTAgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAwMS8xMV0gQWRkIGRvY3MgY2hhcHRlciBmb3IgdGVtcG9yYWwgdGFibGVz CgpUaGlzIGNvbW1pdCB0cmllcyB0byBvdXRsaW5lIHRoZSBjb21wbGV0ZSBmdW5jdGlvbmFsaXR5 IGRlc2NyaWJlZCBieSB0aGUKU1FMOjIwMTEgc3RhbmRhcmQsIHdoaWNoIHdlIGhvcGUgdG8gYWNo aWV2ZS4gU28gaXQgaW5jbHVkZXMgc2VjdGlvbnMgZm9yCkFwcGxpY2F0aW9uIFRpbWUgYW5kIFN5 c3RlbSBUaW1lLCBidXQgaXQgbm90ZXMgdGhhdCBTeXN0ZW0gVGltZSBpcyBub3QKeWV0IGltcGxl bWVudGVkLiBMaWtld2lzZSBpdCBjb3ZlcnMgdGVtcG9yYWwgcHJpbWFyeSBrZXlzIGFuZCB1bmlx dWUKY29uc3RyYWludHMgaW4gZGV0YWlsLCBidXQgaXQgb25seSBub3RlcyB0aGF0IHRlbXBvcmFs IHVwZGF0ZS9kZWxldGUgYXJlCm5vdCB5ZXQgc3VwcG9ydGVkLgoKVGVtcG9yYWwgZm9yZWlnbiBr ZXlzIGFuZCBwZXJpb2RzIGFyZSBkb2N1bWVudGVkIGluIHRoZSBuZXh0IGNvbW1pdHMuCgpUaGlz IGNvbW1pdCBhbHNvIGFkZHMgZ2xvc3NhcnkgZW50cmllcyBmb3IgdGVtcG9yYWwgdGFibGUsIGFw cGxpY2F0aW9uCnRpbWUsIGFuZCBzeXN0ZW0gdGltZS4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2ly dGggPHBqQGlsbHVtaW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvZmlsZWxp c3Quc2dtbCAgICAgICAgICAgICAgICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dt bCAgICAgICAgICAgICAgICB8ICA0NyArKysrKwogZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmls ZSAgICAgICAgICAgICAgfCAgIDMgKy0KIGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50 aXRpZXMuc3ZnIHwgIDM0ICsrKysKIGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50aXRp ZXMudHh0IHwgIDE2ICsrCiBkb2Mvc3JjL3NnbWwvcG9zdGdyZXMuc2dtbCAgICAgICAgICAgICAg ICB8ICAgMSArCiBkb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbCAgICAgICAgICAgICAgICB8IDIx MyArKysrKysrKysrKysrKysrKysrKysrCiA3IGZpbGVzIGNoYW5nZWQsIDMxNCBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL3NyYy9zZ21sL2ltYWdl cy90ZW1wb3JhbC1lbnRpdGllcy5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwv aW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMv c2dtbC90ZW1wb3JhbC5zZ21sCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNn bWwgYi9kb2Mvc3JjL3NnbWwvZmlsZWxpc3Quc2dtbAppbmRleCBhYzY2ZmNiZGI1Ny4uYzc5MDVh ZTAwNTIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9maWxlbGlzdC5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9maWxlbGlzdC5zZ21sCkBAIC0zMCw2ICszMCw3IEBACiA8IUVOVElUWSByYW5nZXR5 cGVzIFNZU1RFTSAicmFuZ2V0eXBlcy5zZ21sIj4KIDwhRU5USVRZIHJvd3R5cGVzICAgU1lTVEVN ICJyb3d0eXBlcy5zZ21sIj4KIDwhRU5USVRZIHN5bnRheCAgICAgU1lTVEVNICJzeW50YXguc2dt bCI+Cis8IUVOVElUWSB0ZW1wb3JhbCAgIFNZU1RFTSAidGVtcG9yYWwuc2dtbCI+CiA8IUVOVElU WSB0ZXh0c2VhcmNoIFNZU1RFTSAidGV4dHNlYXJjaC5zZ21sIj4KIDwhRU5USVRZIHR5cGVjb252 ICAgU1lTVEVNICJ0eXBlY29udi5zZ21sIj4KIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ds b3NzYXJ5LnNnbWwgYi9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbAppbmRleCA4NjUxZjBjZGI5 MS4uZjRkNTc4M2QxZDUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCisr KyBiL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sCkBAIC04MSw2ICs4MSwyMSBAQAogICAgPC9n bG9zc2RlZj4KICAgPC9nbG9zc2VudHJ5PgogCisgIDxnbG9zc2VudHJ5IGlkPSJnbG9zc2FyeS1h cHBsaWNhdGlvbi10aW1lIj4KKyAgIDxnbG9zc3Rlcm0+QXBwbGljYXRpb24gdGltZTwvZ2xvc3N0 ZXJtPgorICAgPGdsb3NzZGVmPgorICAgIDxwYXJhPgorICAgICBJbiBhIDxnbG9zc3Rlcm0gbGlu a2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtdGFibGUiPnRlbXBvcmFsIHRhYmxlPC9nbG9zc3Rlcm0+ LAorICAgICB0aGUgZGltZW5zaW9uIG9mIHRpbWUgdGhhdCByZXByZXNlbnRzIHdoZW4gdGhlIGVu dGl0eSBkZXNjcmliZWQgYnkgdGhlIHRhYmxlCisgICAgIGNoYW5nZWQgKGFzIG9wcG9zZWQgdG8g dGhlIHRhYmxlIGl0c2VsZikuCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorICAgICBGb3IgbW9y ZSBpbmZvcm1hdGlvbiwgc2VlCisgICAgIDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLXRhYmxlcyIv Pi4KKyAgICA8L3BhcmE+CisgICA8L2dsb3NzZGVmPgorICA8L2dsb3NzZW50cnk+CisKICAgPGds b3NzZW50cnkgaWQ9Imdsb3NzYXJ5LWFpbyI+CiAgICA8Z2xvc3N0ZXJtPkFzeW5jaHJvbm91cyA8 YWNyb255bT5JL088L2Fjcm9ueW0+PC9nbG9zc3Rlcm0+CiAgICA8YWNyb255bT5BSU88L2Fjcm9u eW0+CkBAIC0xODQ3LDYgKzE4NjIsMjIgQEAKICAgIDwvZ2xvc3NkZWY+CiAgIDwvZ2xvc3NlbnRy eT4KIAorICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3Nhcnktc3lzdGVtLXRpbWUiPgorICAgPGdsb3Nz dGVybT5TeXN0ZW0gdGltZTwvZ2xvc3N0ZXJtPgorICAgPGdsb3NzZGVmPgorICAgIDxwYXJhPgor ICAgICBJbiBhIDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtdGFibGUiPnRl bXBvcmFsIHRhYmxlPC9nbG9zc3Rlcm0+LAorICAgICB0aGUgZGltZW5zaW9uIG9mIHRpbWUgdGhh dCByZXByZXNlbnRzIHdoZW4gdGhlIHRhYmxlIGl0c2VsZiB3YXMgY2hhbmdlZAorICAgICAoYXMg b3Bwb3NlZCB0byB0aGUgZW50aXR5IHRoZSB0YWJsZSBkZXNjcmliZXMpLgorICAgICBPZnRlbiB1 c2VkIGZvciBhdWRpdGluZywgY29tcGxpYW5jZSwgYW5kIGRlYnVnZ2luZy4KKyAgICA8L3BhcmE+ CisgICAgPHBhcmE+CisgICAgIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUKKyAgICAgPHhyZWYg bGlua2VuZD0idGVtcG9yYWwtdGFibGVzIi8+LgorICAgIDwvcGFyYT4KKyAgIDwvZ2xvc3NkZWY+ CisgIDwvZ2xvc3NlbnRyeT4KKwogICA8Z2xvc3NlbnRyeSBpZD0iZ2xvc3NhcnktdGFibGUiPgog ICAgPGdsb3NzdGVybT5UYWJsZTwvZ2xvc3N0ZXJtPgogICAgPGdsb3NzZGVmPgpAQCAtMTg4NSw2 ICsxOTE2LDIyIEBACiAgICA8L2dsb3NzZGVmPgogICA8L2dsb3NzZW50cnk+CiAKKyAgPGdsb3Nz ZW50cnkgaWQ9Imdsb3NzYXJ5LXRlbXBvcmFsLXRhYmxlIj4KKyAgIDxnbG9zc3Rlcm0+VGVtcG9y YWwgdGFibGU8L2dsb3NzdGVybT4KKyAgIDxnbG9zc2RlZj4KKyAgICA8cGFyYT4KKyAgICAgPGds b3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS10YWJsZSI+VGFibGVzPC9nbG9zc3Rlcm0+CisgICAg IHRoYXQgdHJhY2sgPGdsb3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS1hcHBsaWNhdGlvbi10aW1l Ij5hcHBsaWNhdGlvbiB0aW1lPC9nbG9zc3Rlcm0+CisgICAgIG9yIDxnbG9zc3Rlcm0gbGlua2Vu ZD0iZ2xvc3Nhcnktc3lzdGVtLXRpbWUiPnN5c3RlbSB0aW1lPC9nbG9zc3Rlcm0+IChvciBib3Ro KS4KKyAgICAgTm90IHRvIGJlIGNvbmZ1c2VkIHdpdGggPGdsb3NzdGVybSBsaW5rZW5kPSJnbG9z c2FyeS10ZW1wb3JhcnktdGFibGUiPnRlbXBvcmFyeSB0YWJsZXM8L2dsb3NzdGVybT4uCisgICAg PC9wYXJhPgorICAgIDxwYXJhPgorICAgICBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlCisgICAg IDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLXRhYmxlcyIvPi4KKyAgICA8L3BhcmE+CisgICA8L2ds b3NzZGVmPgorICA8L2dsb3NzZW50cnk+CisKICAgPGdsb3NzZW50cnkgaWQ9Imdsb3NzYXJ5LXRl bXBvcmFyeS10YWJsZSI+CiAgICA8Z2xvc3N0ZXJtPlRlbXBvcmFyeSB0YWJsZTwvZ2xvc3N0ZXJt PgogICAgPGdsb3NzZGVmPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmls ZSBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKaW5kZXggNjQ1NTE5MDk1ZDAuLjFkOTlk NGUzMGM4IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxlCisrKyBiL2Rv Yy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKQEAgLTUsNyArNSw4IEBACiBBTExfSU1BR0VTID0g XAogCWdlbmV0aWMtYWxnb3JpdGhtLnN2ZyBcCiAJZ2luLnN2ZyBcCi0JcGFnZWxheW91dC5zdmcK KwlwYWdlbGF5b3V0LnN2ZyBcCisJdGVtcG9yYWwtZW50aXRpZXMuc3ZnCiAKIERJVEFBID0gZGl0 YWEKIERPVCA9IGRvdApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1l bnRpdGllcy5zdmcgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnN2Zwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uZDVlZTZhNzdlNzcKLS0tIC9k ZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnN2ZwpA QCAtMCwwICsxLDM0IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzxzdmcgeG1sbnM9Imh0dHA6 Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgOTcwIDI4MCIgd2lkdGg9Ijk3MCIg aGVpZ2h0PSIyODAiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB2ZXJzaW9u PSIxLjAiPgorICA8ZGVmcz4KKyAgICA8ZmlsdGVyIGlkPSJmMiIgeD0iMCIgeT0iMCIgd2lkdGg9 IjIwMCUiIGhlaWdodD0iMjAwJSI+CisgICAgICA8ZmVPZmZzZXQgcmVzdWx0PSJvZmZPdXQiIGlu PSJTb3VyY2VHcmFwaGljIiBkeD0iNSIgZHk9IjUiLz4KKyAgICAgIDxmZUdhdXNzaWFuQmx1ciBy ZXN1bHQ9ImJsdXJPdXQiIGluPSJvZmZPdXQiIHN0ZERldmlhdGlvbj0iMyIvPgorICAgICAgPGZl QmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iYmx1ck91dCIgbW9kZT0ibm9ybWFsIi8+Cisg ICAgPC9maWx0ZXI+CisgIDwvZGVmcz4KKyAgPGcgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGlu ZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KKyAgICA8cmVjdCB4PSIwIiB5 PSIwIiB3aWR0aD0iOTcwIiBoZWlnaHQ9IjI4MCIgc3R5bGU9ImZpbGw6ICNmZmZmZmYiLz4KKyAg ICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1s aW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0iIzk5ZGQ5OSIgZD0i TTM4NS4wIDEzMy4wIEw5MjUuMCAxMzMuMCBMOTI1LjAgNjMuMCBMMzg1LjAgNjMuMCB6Ii8+Cisg ICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2Ut bGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9 Ik0yMDUuMCAxMzMuMCBMMjA1LjAgMjAzLjAgTDc0NS4wIDIwMy4wIEw3NDUuMCAxMzMuMCB6Ii8+ CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJv a2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTki IGQ9Ik0zODUuMCA2My4wIEwzODUuMCAxMzMuMCBMMjUuMCAxMzMuMCBMMjUuMCA2My4wIHoiLz4K KyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9r ZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0i TTIwNS4wIDIyNC4wIEwyMDUuMCAyMzcuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAi IHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxp bmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTI1LjAgMjI0LjAgTDI1LjAgMjM3LjAgIi8+ CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJv a2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9 Ik0zODUuMCAyMjQuMCBMMzg1LjAgMjM3LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAw IiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1s aW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik01NjUuMCAyMjQuMCBMNTY1LjAgMjM3LjAg Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBz dHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUi IGQ9Ik03NDUuMCAyMjQuMCBMNzQ1LjAgMjM3LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAw MDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9r ZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik05MjUuMCAyMjQuMCBMOTI1LjAgMjM3 LjAgIi8+CisgICAgPHRleHQgeD0iNDAiIHk9Ijk2IiBmb250LWZhbWlseT0iQ291cmllciIgZm9u dC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4dD4K KyAgICA8dGV4dCB4PSI0MCIgeT0iMTEwIiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4oNSwgJDUsIFsxIEphbiAyMDIwLDEg SmFuIDIwMjIpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMDAiIHk9IjI1MCIgZm9udC1mYW1pbHk9 IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAy MTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMjAiIHk9IjE2NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIi IGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3Rl eHQ+CisgICAgPHRleHQgeD0iMjIwIiB5PSIxODAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig2LCAkOSwgWzEgSmFuIDIw MjEsMSBKYW4gMjAyNCkpPC90ZXh0PgorICAgIDx0ZXh0IHg9IjIwIiB5PSIyNTAiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi PjIwMjA8L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8 L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBm b250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig1LCAkOCwgWzEgSmFu IDIwMjIsKSk8L3RleHQ+CisgICAgPHRleHQgeD0iNTYwIiB5PSIyNTAiIGZvbnQtZmFtaWx5PSJD b3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjM8 L3RleHQ+CisgICAgPHRleHQgeD0iMzgwIiB5PSIyNTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBm b250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjI8L3RleHQ+Cisg ICAgPHRleHQgeD0iOTI5IiB5PSIyNTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9 IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPi4uLjwvdGV4dD4KKyAgICA8dGV4dCB4 PSI3NDAiIHk9IjI1MCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9r ZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNDwvdGV4dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWVudGl0aWVzLnR4dCBiL2RvYy9z cmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50aXRpZXMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwLi5iODY5NjgyZWZkNwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9z cmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZW50aXRpZXMudHh0CkBAIC0wLDAgKzEsMTYgQEAKKwor CisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGNHUkUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8Cit8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAgICAgICB8IHBy b2R1Y3RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICg1 LCAkNSwgWzEgSmFuIDIwMjAsMSBKYW4gMjAyMikpICB8ICg1LCAkOCwgWzEgSmFuIDIwMjIsKSkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICAg ICAgICAgICB8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8CisgICAgICAgICAgICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICB8ICg2LCAkOSwgWzEg SmFuIDIwMjEsMSBKYW4gMjAyNCkpICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CisgICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK3wgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg IHwKKzIwMjAgICAgICAgICAgICAgIDIwMjEgICAgICAgICAgICAgIDIwMjIgICAgICAgICAgICAg IDIwMjMgICAgICAgICAgICAgIDIwMjQgICAgICAgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvZG9j L3NyYy9zZ21sL3Bvc3RncmVzLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcG9zdGdyZXMuc2dtbAppbmRl eCBhZjQ3NmM4MmZjYy4uNWViMDM1MDVjZjEgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9wb3N0 Z3Jlcy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wb3N0Z3Jlcy5zZ21sCkBAIC0xMTIsNiArMTEy LDcgQEAgYnJlYWsgaXMgbm90IG5lZWRlZCBpbiBhIHdpZGVyIG91dHB1dCByZW5kZXJpbmcuCiAg ICZ0ZXh0c2VhcmNoOwogICAmbXZjYzsKICAgJnBlcmZvcm07CisgICZ0ZW1wb3JhbDsKICAgJnBh cmFsbGVsOwogCiAgPC9wYXJ0PgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNn bWwgYi9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMC4uNWQxZjY5N2ZlZTgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3Nn bWwvdGVtcG9yYWwuc2dtbApAQCAtMCwwICsxLDIxMyBAQAorPCEtLSBkb2Mvc3JjL3NnbWwvdGVt cG9yYWwuc2dtbCAtLT4KKworIDxjaGFwdGVyIGlkPSJ0ZW1wb3JhbC10YWJsZXMiPgorICA8dGl0 bGU+VGVtcG9yYWwgVGFibGVzPC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9InRlbXBvcmFs LXRhYmxlcyI+CisgICA8cHJpbWFyeT50ZW1wb3JhbDwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+ CisKKyAgPHBhcmE+CisgICBUZW1wb3JhbCB0YWJsZXMgYWxsb3cgdXNlcnMgdG8gdHJhY2sgZGlm ZmVyZW50IGRpbWVuc2lvbnMgb2YKKyAgIGhpc3RvcnkuIEFwcGxpY2F0aW9uIHRpbWUgdHJhY2tz IHRoZSBoaXN0b3J5IG9mIGEgdGhpbmcgb3V0IGluIHRoZQorICAgd29ybGQsIGFuZCBzeXN0ZW0g dGltZSB0cmFja3MgdGhlIGhpc3Rvcnkgb2YgdGhlIGRhdGFiYXNlIGl0c2VsZi4gVGhpcworICAg Y2hhcHRlciBkZXNjcmliZXMgaG93IHRvIGV4cHJlc3MgYW5kIG1hbmFnZSBzdWNoIGhpc3Rvcmll cyBpbiB0ZW1wb3JhbAorICAgdGFibGVzLgorICA8L3BhcmE+CisKKyA8c2VjdDEgaWQ9ImFwcGxp Y2F0aW9uLXRpbWUiPgorICA8dGl0bGU+QXBwbGljYXRpb24gVGltZTwvdGl0bGU+CisKKyAgIDxp bmRleHRlcm0gem9uZT0iYXBwbGljYXRpb24tdGltZSI+CisgICAgPHByaW1hcnk+YXBwbGljYXRp b24gdGltZTwvcHJpbWFyeT4KKyAgIDwvaW5kZXh0ZXJtPgorCisgICA8cGFyYT4KKyAgICA8Zmly c3R0ZXJtPkFwcGxpY2F0aW9uIHRpbWU8L2ZpcnN0dGVybT4gcmVmZXJzIHRvIGEgaGlzdG9yeSBv ZiB0aGUKKyAgICBlbnRpdHkgZGVzY3JpYmVkIGJ5IGEgdGFibGUuIEluIGEgdHlwaWNhbCBub24t dGVtcG9yYWwgdGFibGUsIHRoZXJlIGlzCisgICAgc2luZ2xlIHJvdyBmb3IgZWFjaCBlbnRpdHku IEluIGEgdGVtcG9yYWwgdGFibGUsIGFuIGVudGl0eSBtYXkgaGF2ZQorICAgIG11bHRpcGxlIHJv d3MsIGFzIGxvbmcgYXMgdGhvc2Ugcm93cyBkZXNjcmliZSBub24tb3ZlcmxhcHBpbmcgcGVyaW9k cworICAgIGZyb20gaXRzIGhpc3RvcnkuIEFwcGxpY2F0aW9uIHRpbWUgcmVxdWlyZXMgZWFjaCBy b3cgdG8gaGF2ZSBhIHN0YXJ0CisgICAgYW5kIGVuZCB0aW1lLCBleHByZXNzaW5nIHdoZW4gdGhl IHJvdyBpcyB0cnVlLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBSZWNvcmRzIGluIGEg dGVtcG9yYWwgdGFibGUgY2FuIGJlIHBsb3R0ZWQgb24gYSB0aW1lbGluZSwgYXMgaW4KKyAgICA8 eHJlZiBsaW5rZW5kPSJ0ZW1wb3JhbC1lbnRpdGllcy1maWd1cmUiLz4uIEhlcmUgd2Ugc2hvdyB0 aHJlZSByZWNvcmRzCisgICAgZGVzY3JpYmluZyB0d28gcHJvZHVjdHMuIEVhY2ggcmVjb3JkIGlz IGEgdHVwbGUgd2l0aCB0aHJlZSBhdHRyaWJ1dGVzOgorICAgIHRoZSBpZCwgdGhlIHByaWNlLCBh bmQgdGhlIGFwcGxpY2F0aW9uIHRpbWUuIFNvIHByb2R1Y3QgNSB3YXMgZmlyc3QKKyAgICBvZmZl cmVkIGZvciAkNSBzdGFydGluZyBKYW51YXJ5IDEsIDIwMjAsIGJ1dCB0aGVuIGJlY2FtZSAkOCBz dGFydGluZworICAgIEphbnVhcnkgMSwgMjAyMi4gSXRzIHNlY29uZCByZWNvcmQgaGFzIG5vIHNw ZWNpZmllZCBlbmQgdGltZSwKKyAgICBpbmRpY2F0aW5nIHRoYXQgaXQgaXMgdHJ1ZSBpbmRlZmlu aXRlbHksIG9yIGZvciBhbGwgZnV0dXJlIHRpbWUuIFRoZQorICAgIGxhc3QgcmVjb3JkIHNob3dz IHRoYXQgcHJvZHVjdCA2IHdhcyBpbnRyb2R1Y2VkIEphbnVhcnkgMSwgMjAyMSBmb3IgJDksCisg ICAgdGhlbiBjYW5jZWxlZCBKYW51YXJ5IDEsIDIwMjQuCisgICA8L3BhcmE+CisKKyAgIDxmaWd1 cmUgaWQ9InRlbXBvcmFsLWVudGl0aWVzLWZpZ3VyZSI+CisgICAgPHRpdGxlPkFwcGxpY2F0aW9u IFRpbWUgRXhhbXBsZTwvdGl0bGU+CisgICAgPG1lZGlhb2JqZWN0PgorICAgICA8aW1hZ2VvYmpl Y3Q+CisgICAgICA8aW1hZ2VkYXRhIGZpbGVyZWY9ImltYWdlcy90ZW1wb3JhbC1lbnRpdGllcy5z dmciIGZvcm1hdD0iU1ZHIiB3aWR0aD0iMTAwJSIvPgorICAgICA8L2ltYWdlb2JqZWN0PgorICAg IDwvbWVkaWFvYmplY3Q+CisgICA8L2ZpZ3VyZT4KKworICAgPHBhcmE+CisgICAgSW4gYSB0YWJs ZSwgdGhlc2UgcmVjb3JkcyB3b3VsZCBiZToKKzxwcm9ncmFtbGlzdGluZz4KKyBpZCB8IHByaWNl IHwgICAgICAgIHZhbGlkX2F0CistLS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorICA1IHwgICAgIDUgfCBbMjAyMC0wMS0wMSwyMDIzLTAxLTAxKQorICA1IHwgICAgIDggfCBb MjAyMy0wMS0wMSwpCisgIDYgfCAgICAgOSB8IFsyMDIxLTAxLTAxLDIwMjQtMDEtMDEpCis8L3By b2dyYW1saXN0aW5nPgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBXZSBzaG93IHRoZSBh cHBsaWNhdGlvbiB0aW1lIHVzaW5nIHJhbmdldHlwZSBub3RhdGlvbiwgYmVjYXVzZSBpdAorICAg IGlzIHN0b3JlZCBhcyBhIHNpbmdsZSBjb2x1bW4gKGVpdGhlciBhIHJhbmdlIG9yIG11bHRpcmFu Z2UpLiBCeQorICAgIGNvbnZlbnRpb24gcmFuZ2VzIGluY2x1ZGUgdGhlaXIgc3RhcnQgcG9pbnQg YnV0IGV4Y2x1ZGUgdGhlaXIgZW5kCisgICAgcG9pbnQuIFRoYXQgd2F5IHR3byBhZGphY2VudCBy YW5nZXMgY292ZXIgYWxsIHBvaW50cyB3aXRob3V0CisgICAgb3ZlcmxhcHBpbmcuCisgICA8L3Bh cmE+CisKKyAgIDxwYXJhPgorICAgIEluIHByaW5jaXBsZSwgYSB0YWJsZSB3aXRoIGFwcGxpY2F0 aW9uLXRpbWUgcmFuZ2VzL211bHRpcmFuZ2VzIGlzCisgICAgZXF1aXZhbGVudCB0byBhIHRhYmxl IHRoYXQgc3RvcmVzIGFwcGxpY2F0aW9uLXRpbWUgImluc3RhbnRzIjogb25lIGZvcgorICAgIGVh Y2ggc2Vjb25kLCBtaWxsaXNlY29uZCwgbmFub3NlY29uZCwgb3Igd2hhdGV2ZXIgZmluZXN0IGdy YW51bGFyaXR5IGlzCisgICAgYXZhaWxhYmxlLiBCdXQgc3VjaCBhIHRhYmxlIHdvdWxkIGNvbnRh aW4gZmFyIHRvbyBtYW55IHJvd3MsIHNvCisgICAgcmFuZ2VzL211bHRpcmFuZ2VzIG9mZmVyIGFu IG9wdGltaXphdGlvbiB0byByZXByZXNlbnQgdGhlIHNhbWUKKyAgICBpbmZvcm1hdGlvbiBpbiBh IGNvbXBhY3QgZm9ybS4gSW4gYWRkaXRpb24sIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMKKyAgICBv ZmZlciBhIG1vcmUgY29udmVuaWVudCBpbnRlcmZhY2UgZm9yIHR5cGljYWwgdGVtcG9yYWwgb3Bl cmF0aW9ucywKKyAgICB3aGVyZSByZWNvcmRzIGNoYW5nZSBpbmZyZXF1ZW50bHkgZW5vdWdoIHRo YXQgc2VwYXJhdGUgInZlcnNpb25zIgorICAgIHBlcnNpc3QgZm9yIGV4dGVuZGVkIHBlcmlvZHMg b2YgdGltZS4KKyAgIDwvcGFyYT4KKworICA8c2VjdDIgaWQ9ImFwcGxpY2F0aW9uLXRpbWUtcHJp bWFyeS1rZXlzIj4KKyAgIDx0aXRsZT5UZW1wb3JhbCBQcmltYXJ5IEtleXMgYW5kIFVuaXF1ZSBD b25zdHJhaW50czwvdGl0bGU+CisKKyAgIDxwYXJhPgorICAgIEEgdGFibGUgd2l0aCBhcHBsaWNh dGlvbiB0aW1lIGhhcyBhIGRpZmZlcmVudCBjb25jZXB0IG9mIGVudGl0eQorICAgIGludGVncml0 eSB0aGFuIGEgbm9uLXRlbXBvcmFsIHRhYmxlLiBUZW1wb3JhbCBlbnRpdHkgaW50ZWdyaXR5IGNh biBiZQorICAgIGVuZm9yY2VkIHdpdGggYSB0ZW1wb3JhbCBwcmltYXJ5IGtleS4gQSByZWd1bGFy IHByaW1hcnkga2V5IGhhcyBhdAorICAgIGxlYXN0IG9uZSBlbGVtZW50LCBhbGwgZWxlbWVudHMg YXJlIDxsaXRlcmFsPk5PVCBOVUxMPC9saXRlcmFsPiwgYW5kCisgICAgdGhlIGNvbWJpbmVkIHZh bHVlIG9mIGFsbCBlbGVtZW50cyBpcyB1bmlxdWUuIEEgdGVtcG9yYWwgcHJpbWFyeSBrZXkKKyAg ICBhbHNvIGhhcyBhdCBsZWFzdCBvbmUgc3VjaCBlbGVtZW50LCBidXQgaW4gYWRkaXRpb24gaXQg aGFzIGEgZmluYWwKKyAgICBlbGVtZW50IHRoYXQgaXMgYSByYW5nZXR5cGUgb3IgbXVsdGlyYW5n ZXR5cGUgdGhhdCBzaG93cyB3aGVuIGl0IHdhcworICAgIHRydWUuIFRoZSByZWd1bGFyIHBhcnRz IG9mIHRoZSBrZXkgbXVzdCBiZSB1bmlxdWUgZm9yIGFueSBtb21lbnQgaW4KKyAgICB0aW1lLCBi dXQgbm9uLXVuaXF1ZSByZWNvcmRzIGFyZSBhbGxvd2VkIGlmIHRoZWlyIGFwcGxpY2F0aW9uIHRp bWUgZG9lcworICAgIG5vdCBvdmVybGFwLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBU aGUgc3ludGF4IHRvIGNyZWF0ZSBhIHRlbXBvcmFsIHByaW1hcnkga2V5IGlzIGFzIGZvbGxvd3M6 CisKKzxwcm9ncmFtbGlzdGluZz4KK0FMVEVSIFRBQkxFIHByb2R1Y3RzCisgIEFERCBDT05TVFJB SU5UIHByb2R1Y3RzX3BrZXkKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKTsKKzwvcHJvZ3JhbWxpc3Rpbmc+CisKKyAgICBJbiB0aGlzIGV4YW1wbGUsIDxsaXRl cmFsPmlkPC9saXRlcmFsPiBpcyB0aGUgbm9uLXRlbXBvcmFsIHBhcnQgb2YKKyAgICB0aGUga2V5 LCBhbmQgPGxpdGVyYWw+dmFsaWRfYXQ8L2xpdGVyYWw+IGlzIGEgcmFuZ2UgY29sdW1uIGNvbnRh aW5pbmcKKyAgICB0aGUgYXBwbGljYXRpb24gdGltZS4gWW91IGNhbiBhbHNvIGNyZWF0ZSB0aGUg cHJpbWFyeSBrZXkgYXMgcGFydCBvZgorICAgIHRoZSA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRl dGFibGUiPjxsaXRlcmFsPkNSRUFURQorICAgIFRBQkxFPC9saXRlcmFsPjwvbGluaz4gY29tbWFu ZC4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVGhlIDxsaXRlcmFsPldJVEhPVVQgT1ZF UkxBUFM8L2xpdGVyYWw+IGNvbHVtbiBtdXN0IGJlIDxsaXRlcmFsPk5PVAorICAgIE5VTEw8L2xp dGVyYWw+IChsaWtlIHRoZSBvdGhlciBwYXJ0cyBvZiB0aGUga2V5KS4gSW4gYWRkaXRpb24gaXQg bWF5CisgICAgbm90IGNvbnRhaW4gZW1wdHkgdmFsdWVzOiBhIHJhbmdldHlwZSBvZiA8bGl0ZXJh bD4nZW1wdHknPC9saXRlcmFsPiBvcgorICAgIGEgbXVsdGlyYW5nZSBvZiA8bGl0ZXJhbD57fTwv bGl0ZXJhbD4uIEFuIGVtcHR5IGFwcGxpY2F0aW9uIHRpbWUgd291bGQKKyAgICBoYXZlIG5vIG1l YW5pbmcuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIEl0IGlzIGFsc28gcG9zc2libGUg dG8gY3JlYXRlIGEgdGVtcG9yYWwgdW5pcXVlIGNvbnN0cmFpbnQgdGhhdCBpcworICAgIG5vdCBh IHByaW1hcnkga2V5LiBUaGUgc3ludGF4IGlzIHNpbWlsYXI6CisKKzxwcm9ncmFtbGlzdGluZz4K K0FMVEVSIFRBQkxFIHByb2R1Y3RzCisgIEFERCBDT05TVFJBSU5UIHByb2R1Y3RzX2lkX3ZhbGlk X2F0X2tleQorICBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKKzwvcHJv Z3JhbWxpc3Rpbmc+CisKKyAgICBZb3UgY2FuIGFsc28gY3JlYXRlIHRoZSB1bmlxdWUgY29uc3Ry YWludCBhcyBwYXJ0IG9mIHRoZSA8bGluaworbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlIj48bGl0 ZXJhbD5DUkVBVEUgVEFCTEU8L2xpdGVyYWw+PC9saW5rPgorY29tbWFuZC4KKyAgIDwvcGFyYT4K KworICAgPHBhcmE+CisgICAgVGVtcG9yYWwgdW5pcXVlIGNvbnN0cmFpbnRzIGFsc28gZm9yYmlk IGVtcHR5IHJhbmdlcy9tdWx0aXJhbmdlcworICAgIGZvciB0aGVpciBhcHBsaWNhdGlvbiB0aW1l LCBhbHRob3VnaCB0aGF0IGNvbHVtbiBpcyBwZXJtaXR0ZWQgdG8gYmUKKyAgICBudWxsIChsaWtl IG90aGVyIGVsZW1lbnRzIG9mIHRoZSBrZXkpLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAg ICBUZW1wb3JhbCBwcmltYXJ5IGtleXMgYW5kIHVuaXF1ZSBjb25zdHJhaW50cyBhcmUgYmFja2Vk IGJ5CisgICAgPGxpbmsgbGlua2VuZD0iZ2lzdCI+R2lTVCBpbmRleGVzPC9saW5rPiByYXRoZXIg dGhhbiBCLVRyZWUgaW5kZXhlcy4gSW4KKyAgICBwcmFjdGljZSwgY3JlYXRpbmcgYSB0ZW1wb3Jh bCBwcmltYXJ5IGtleSBvciBleGNsdXNpb24gY29uc3RyYWludAorICAgIHJlcXVpcmVzIGluc3Rh bGxpbmcgdGhlIDx4cmVmIGxpbmtlbmQ9ImJ0cmVlLWdpc3QiLz4gZXh0ZW5zaW9uLCBzbyB0aGF0 CisgICAgdGhlIGRhdGFiYXNlIGhhcyBvcGNsYXNzZXMgZm9yIHRoZSBub24tdGVtcG9yYWwgcGFy dHMgb2YgdGhlIGtleS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgVGVtcG9yYWwgcHJp bWFyeSBrZXlzIGFuZCB1bmlxdWUgY29uc3RyYWludHMgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvcgor ICAgIGFzIDx4cmVmIGxpbmtlbmQ9ImRkbC1jb25zdHJhaW50cy1leGNsdXNpb24iLz4sIHdoZXJl IGVhY2ggcmVndWxhciBrZXkKKyAgICBwYXJ0IGlzIGNvbXBhcmVkIHdpdGggZXF1YWxpdHksIGFu ZCB0aGUgYXBwbGljYXRpb24gdGltZSBpcyBjb21wYXJlZAorICAgIHdpdGggb3ZlcmxhcHMsIGZv ciBleGFtcGxlIDxsaXRlcmFsPkVYQ0xVREUgVVNJTkcgZ2lzdCAoaWQgV0lUSCA9LAorICAgIHZh bGlkX2F0IFdJVEggJmFtcDsmYW1wOyk8L2xpdGVyYWw+LiBUaGUgb25seSBkaWZmZXJlbmNlIGlz IHRoYXQgdGhleQorICAgIGFsc28gZm9yYmlkIGFuIGVtcHR5IGFwcGxpY2F0aW9uIHRpbWUuCisg ICA8L3BhcmE+CisgIDwvc2VjdDI+CisKKyAgPHNlY3QyIGlkPSJhcHBsaWNhdGlvbi10aW1lLXVw ZGF0ZS1kZWxldGUiPgorICAgPHRpdGxlPlRlbXBvcmFsIFVwZGF0ZSBhbmQgRGVsZXRlPC90aXRs ZT4KKworICAgPHBhcmE+CisgICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1l PiBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBzcGVjaWFsCisgICAgc3ludGF4IHRvIHVwZGF0ZSBhbmQg ZGVsZXRlIHBvcnRpb25zIG9mIGhpc3RvcnkgaW4gdGVtcG9yYWwgdGFibGVzLgorICAgPC9wYXJh PgorICA8L3NlY3QyPgorICA8L3NlY3QxPgorCisgIDxzZWN0MSBpZD0ic3lzdGVtLXRpbWUiPgor ICAgPHRpdGxlPlN5c3RlbSBUaW1lPC90aXRsZT4KKworICAgPGluZGV4dGVybSB6b25lPSJzeXN0 ZW0tdGltZSI+CisgICAgPHByaW1hcnk+c3lzdGVtIHRpbWU8L3ByaW1hcnk+CisgICA8L2luZGV4 dGVybT4KKworICAgPHBhcmE+CisgICAgPGZpcnN0dGVybT5TeXN0ZW0gdGltZTwvZmlyc3R0ZXJt PiByZWZlcnMgdG8gdGhlIGhpc3Rvcnkgb2YgdGhlCisgICAgZGF0YWJhc2UgdGFibGUsIG5vdCB0 aGUgZW50aXR5IGl0IGRlc2NyaWJlcy4gSXQgY2FwdHVyZXMgd2hlbiBlYWNoIHJvdworICAgIHdh cyBpbnNlcnRlZC91cGRhdGVkL2RlbGV0ZWQuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAg IExpa2UgYXBwbGljYXRpb24gdGltZSwgc3lzdGVtIHRpbWUgaGFzIHR3byB0aW1lc3RhbXBzOiBh IHN0YXJ0IHRpbWUKKyAgICBhbmQgYW4gZW5kIHRpbWUuIFRoZSBzdGFydCB0aW1lIHNob3dzIHdo ZW4gdGhlIHJvdyB3YXMgYWRkZWQgKGVpdGhlciBieQorICAgIGFuIGluc2VydCBvciBhbiB1cGRh dGUpLCBhbmQgdGhlIGVuZCB0aW1lIHNob3dzIHdoZW4gaXQgc3RvcHBlZCBiZWluZworICAgIGFz c2VydGVkIChlaXRoZXIgYnkgYW4gdXBkYXRlIG9yIGEgZGVsZXRlKS4gVGhlIGRhdGFiYXNlIG1h aW50YWlucworICAgIHRoZXNlIHZhbHVlcyBhdXRvbWF0aWNhbGx5OyB0aGUgdXNlciBpcyBub3Qg YWJsZSB0byBzZXQgdGhlbS4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgSWYgYSBxdWVy eSBmaWx0ZXJzIHJvd3MgZm9yIHRob3NlIHdpdGggYSBzeXN0ZW0gdGltZSBjb250YWluaW5nIGEK KyAgICBnaXZlbiBtb21lbnQgaW4gdGltZSwgdGhlIHJlc3VsdCBpcyBlcXVpdmFsZW50IHRvIGEg bm9uLXRlbXBvcmFsIHRhYmxlCisgICAgZnJvbSB0aGF0IG1vbWVudC4gSW4gdGhhdCB3YXksIHlv dSBjYW4gYXNrIHdoYXQgdGhlIHRhYmxlIGFzc2VydGVkIGF0CisgICAgZGlmZmVyZW50IHRpbWVz IGluIHRoZSBwYXN0LiBUaGlzIGlzIHVzZWZ1bCBmb3IgYXVkaXRpbmcsIGNvbXBsaWFuY2UsCisg ICAgYW5kIGRlYnVnZ2luZy4KKyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgPHByb2R1Y3Ru YW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBkb2VzIG5vdCBjdXJyZW50bHkgc3VwcG9ydAor ICAgIHN5c3RlbSB0aW1lLCBidXQgdGhlcmUgYXJlIHNldmVyYWwgZXh0ZW5zaW9ucyB0aGF0IHBy b3ZpZGUgaXRzCisgICAgZnVuY3Rpb25hbGl0eS4gU2VlCisgICAgPHVsaW5rIHVybD0iaHR0cHM6 Ly93aWtpLnBvc3RncmVzcWwub3JnL3dpa2kvU1FMMjAxMVRlbXBvcmFsIj50aGUgU1FMOjIwMTEK KyAgICBUZW1wb3JhbCB3aWtpIHBhZ2U8L3VsaW5rPiBmb3IgcG9zc2liaWxpdGllcy4KKyAgIDwv cGFyYT4KKyAgPC9zZWN0MT4KKworIDwvY2hhcHRlcj4KLS0gCjIuMzkuNQoK --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0004-Document-temporal-update-delete.patch" Content-Disposition: attachment; filename="v56-0004-Document-temporal-update-delete.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qf3 RnJvbSAyYzlhMTBmOWExNzk0MmUwY2FkYzRjZjFhZTIzZTg5MDcwZjJiZDEyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjE6Mzg6NDAgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAwNC8xMV0gRG9jdW1lbnQgdGVtcG9yYWwgdXBkYXRlL2RlbGV0ZQoKVGhl IEZPUiBQT1JUSU9OIE9GIHN5bnRheCB3aWxsIGFsc28gYmUgZG9jdW1lbnRlZCBpbiB0aGUgcmVm ZXJlbmNlIHBhZ2VzCmZvciBVUERBVEUgYW5kIERFTEVURSwgYnV0IHRoaXMgY29tbWl0IGFkZHMg YSBjb25jZXB0dWFsIGRlc2NyaXB0aW9uIHRvCnRoZSBUZW1wb3JhbCBUYWJsZXMgY2hhcHRlciwg YXMgd2VsbCBhcyBhIGdsb3NzYXJ5IHRlcm0gZm9yICJ0ZW1wb3JhbApsZWZ0b3ZlcnMiLgoKQXV0 aG9yOiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0K IGRvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sICAgICAgICAgICAgICB8ICAyMSArKysKIGRvYy9z cmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUgICAgICAgICAgICB8ICAgNCArLQogZG9jL3NyYy9zZ21s L2ltYWdlcy90ZW1wb3JhbC1kZWxldGUuc3ZnIHwgIDQxICsrKysrKwogZG9jL3NyYy9zZ21sL2lt YWdlcy90ZW1wb3JhbC1kZWxldGUudHh0IHwgIDEyICsrCiBkb2Mvc3JjL3NnbWwvaW1hZ2VzL3Rl bXBvcmFsLXVwZGF0ZS5zdmcgfCAgNDUgKysrKysrCiBkb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBv cmFsLXVwZGF0ZS50eHQgfCAgMTIgKysKIGRvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sICAgICAg ICAgICAgICB8IDE4MSArKysrKysrKysrKysrKysrKysrKy0tLS0KIDcgZmlsZXMgY2hhbmdlZCwg Mjg0IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRv Yy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnN2ZwogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnR4dAogY3JlYXRlIG1vZGUgMTAw NjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnN2ZwogY3JlYXRlIG1vZGUg MTAwNjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtdXBkYXRlLnR4dAoKZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9nbG9zc2FyeS5zZ21sIGIvZG9jL3NyYy9zZ21sL2dsb3NzYXJ5LnNn bWwKaW5kZXggZjRkNTc4M2QxZDUuLmU5MTc0Mzg2MjhhIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvZ2xvc3Nhcnkuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvZ2xvc3Nhcnkuc2dtbApAQCAtMTkx Niw2ICsxOTE2LDI3IEBACiAgICA8L2dsb3NzZGVmPgogICA8L2dsb3NzZW50cnk+CiAKKyAgPGds b3NzZW50cnkgaWQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVycyI+CisgICA8Z2xvc3N0ZXJt PlRlbXBvcmFsIGxlZnRvdmVyczwvZ2xvc3N0ZXJtPgorICAgPGdsb3NzZGVmPgorICAgIDxwYXJh PgorICAgICA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRhYmxlIj5UYWJsZXM8L2dsb3Nz dGVybT4gdGhhdCBleGlzdCBlaXRoZXIKKyAgICAgZm9yIHRoZSBsaWZldGltZSBvZiBhCisgICAg IDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3Nhcnktc2Vzc2lvbiI+c2Vzc2lvbjwvZ2xvc3N0ZXJt PiBvciBhCisgICAgIDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdHJhbnNhY3Rpb24iPnRy YW5zYWN0aW9uPC9nbG9zc3Rlcm0+LCBhcworICAgICBzcGVjaWZpZWQgYXQgdGhlIHRpbWUgb2Yg Y3JlYXRpb24uCisgICAgIFRoZSBkYXRhIGluIHRoZW0gaXMgbm90IHZpc2libGUgdG8gb3RoZXIg c2Vzc2lvbnMsIGFuZCBpcyBub3QKKyAgICAgPGdsb3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS1s b2dnZWQiPmxvZ2dlZDwvZ2xvc3N0ZXJtPi4KKyAgICAgVGVtcG9yYXJ5IHRhYmxlcyBhcmUgb2Z0 ZW4gdXNlZCB0byBzdG9yZSBpbnRlcm1lZGlhdGUgZGF0YSBmb3IgYQorICAgICBtdWx0aS1zdGVw IG9wZXJhdGlvbi4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CisgICAgIEZvciBtb3JlIGluZm9y bWF0aW9uLCBzZWUKKyAgICAgPHhyZWYgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxlIi8+LgorICAg IDwvcGFyYT4KKyAgIDwvZ2xvc3NkZWY+CisgIDwvZ2xvc3NlbnRyeT4KKwogICA8Z2xvc3NlbnRy eSBpZD0iZ2xvc3NhcnktdGVtcG9yYWwtdGFibGUiPgogICAgPGdsb3NzdGVybT5UZW1wb3JhbCB0 YWJsZTwvZ2xvc3N0ZXJtPgogICAgPGdsb3NzZGVmPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21s L2ltYWdlcy9NYWtlZmlsZSBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKaW5kZXggZmQ1 NWI5YWQyM2YuLjM4Zjg4NjlkNzhkIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01h a2VmaWxlCisrKyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKQEAgLTcsNyArNyw5IEBA IEFMTF9JTUFHRVMgPSBcCiAJZ2luLnN2ZyBcCiAJcGFnZWxheW91dC5zdmcgXAogCXRlbXBvcmFs LWVudGl0aWVzLnN2ZyBcCi0JdGVtcG9yYWwtcmVmZXJlbmNlcy5zdmcKKwl0ZW1wb3JhbC1yZWZl cmVuY2VzLnN2ZyBcCisJdGVtcG9yYWwtdXBkYXRlLnN2ZyBcCisJdGVtcG9yYWwtZGVsZXRlLnN2 ZwogCiBESVRBQSA9IGRpdGFhCiBET1QgPSBkb3QKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9p bWFnZXMvdGVtcG9yYWwtZGVsZXRlLnN2ZyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwt ZGVsZXRlLnN2ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzY2NTc1 MGQ3ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLWRl bGV0ZS5zdmcKQEAgLTAsMCArMSw0MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c3ZnIHht bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEzMzAgMjI0IiB3 aWR0aD0iMTMzMCIgaGVpZ2h0PSIyMjQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lz aW9uIiB2ZXJzaW9uPSIxLjAiPgorICA8ZGVmcz4KKyAgICA8ZmlsdGVyIGlkPSJmMiIgeD0iMCIg eT0iMCIgd2lkdGg9IjIwMCUiIGhlaWdodD0iMjAwJSI+CisgICAgICA8ZmVPZmZzZXQgcmVzdWx0 PSJvZmZPdXQiIGluPSJTb3VyY2VHcmFwaGljIiBkeD0iNSIgZHk9IjUiLz4KKyAgICAgIDxmZUdh dXNzaWFuQmx1ciByZXN1bHQ9ImJsdXJPdXQiIGluPSJvZmZPdXQiIHN0ZERldmlhdGlvbj0iMyIv PgorICAgICAgPGZlQmxlbmQgaW49IlNvdXJjZUdyYXBoaWMiIGluMj0iYmx1ck91dCIgbW9kZT0i bm9ybWFsIi8+CisgICAgPC9maWx0ZXI+CisgIDwvZGVmcz4KKyAgPGcgc3Ryb2tlLXdpZHRoPSIx IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KKyAgICA8 cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMTMzMCIgaGVpZ2h0PSIyMjQiIHN0eWxlPSJmaWxsOiAj ZmZmZmZmIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAw MDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9 IiM5OWRkOTkiIGQ9Ik02ODUuMCA2My4wIEw2ODUuMCAxNDcuMCBMMTAwNS4wIDE0Ny4wIEwxMDA1 LjAgNjMuMCB6Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEu MDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZp bGw9IiM5OWRkOTkiIGQ9Ik0zMTUuMCA2My4wIEwzMTUuMCAxNDcuMCBMMjUuMCAxNDcuMCBMMjUu MCA2My4wIHoiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4w MDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmls bD0iIzk5ZGQ5OSIgZD0iTTEwMDUuMCA2My4wIEwxMDA1LjAgMTQ3LjAgTDEyNzUuMCAxNDcuMCBM MTI3NS4wIDYzLjAgeiIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRo PSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5k IiBmaWxsPSJub25lIiBkPSJNMjA1LjAgMTY4LjAgTDIwNS4wIDE4MS4wICIvPgorICAgIDxwYXRo IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9 InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNMjUuMCAxNjgu MCBMMjUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0 aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3Vu ZCIgZmlsbD0ibm9uZSIgZD0iTTM4NS4wIDE2OC4wIEwzODUuMCAxODEuMCAiLz4KKyAgICA8cGF0 aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2Fw PSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTU2NS4wIDE2 OC4wIEw1NjUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13 aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJy b3VuZCIgZmlsbD0ibm9uZSIgZD0iTTc0NS4wIDE2OC4wIEw3NDUuMCAxODEuMCAiLz4KKyAgICA8 cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5l Y2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTkyNS4w IDE2OC4wIEw5MjUuMCAxODEuMCAiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9r ZS13aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2lu PSJyb3VuZCIgZmlsbD0ibm9uZSIgZD0iTTExMDUuMCAxNjguMCBMMTEwNS4wIDE4MS4wICIvPgor ICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tl LWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJN MTI4NS4wIDE2OC4wIEwxMjg1LjAgMTgxLjAgIi8+CisgICAgPHRleHQgeD0iNDYiIHk9Ijk2IiBm b250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIj MDAwMDAwIj5wcm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4PSI0MCIgeT0iMTEwIiBmb250LWZh bWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAw Ij4oNSwgJDUsPC90ZXh0PgorICAgIDx0ZXh0IHg9IjgzIiB5PSIxMjQiIGZvbnQtZmFtaWx5PSJD b3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPlsxIEph biAyMDIwLDEgQXVnIDIwMjEpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMCIgeT0iMTk0IiBmb250 LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAw MDAwIj4yMDIwPC90ZXh0PgorICAgIDx0ZXh0IHg9IjIwMCIgeT0iMTk0IiBmb250LWZhbWlseT0i Q291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIx PC90ZXh0PgorICAgIDx0ZXh0IHg9IjM4MCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIg Zm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIyPC90ZXh0Pgor ICAgIDx0ZXh0IHg9IjU2MCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDIzPC90ZXh0PgorICAgIDx0ZXh0 IHg9IjcxMiIgeT0iOTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJv a2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9Ijcy MiIgeT0iMTEwIiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJu b25lIiBmaWxsPSIjMDAwMDAwIj4oNSwgJDEyLDwvdGV4dD4KKyAgICA8dGV4dCB4PSI3NDMiIHk9 IjEyNCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIg ZmlsbD0iIzAwMDAwMCI+WzEgU2VwIDIwMjMsMSBNYXIgMjAyNSkpPC90ZXh0PgorICAgIDx0ZXh0 IHg9Ijc0MCIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ry b2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4yMDI0PC90ZXh0PgorICAgIDx0ZXh0IHg9IjkyMCIg eT0iMTk0IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25l IiBmaWxsPSIjMDAwMDAwIj4yMDI1PC90ZXh0PgorICAgIDx0ZXh0IHg9IjEwMjYiIHk9Ijk2IiBm b250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIj MDAwMDAwIj5wcm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4PSIxMDIwIiB5PSIxMTAiIGZvbnQt ZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAw MDAiPig1LCAkOCw8L3RleHQ+CisgICAgPHRleHQgeD0iMTA1NiIgeT0iMTI0IiBmb250LWZhbWls eT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5b MSBNYXIgMjAyNSwpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIxMTAwIiB5PSIxOTQiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi PjIwMjY8L3RleHQ+CisgICAgPHRleHQgeD0iMTI4OSIgeT0iMTk0IiBmb250LWZhbWlseT0iQ291 cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4uLi48L3Rl eHQ+CisgIDwvZz4KKzwvc3ZnPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1w b3JhbC1kZWxldGUudHh0IGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1kZWxldGUudHh0 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi44NGI2MTBmOGY1OAotLS0g L2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtZGVsZXRlLnR4dApA QCAtMCwwICsxLDEyIEBACisKKworKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGNHUkUgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNHUkUgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgY0dSRSAgICAgICAgICAgICAgICAgICAgIHwKK3wgcHJvZHVj dHMgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgcHJvZHVjdHMgICAgICAgICAgICAgICAgICAgICAgfCBwcm9kdWN0cyAgICAgICAgICAgICAg ICAgfAorfCAoNSwgJDUsICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAoNSwgJDEyLCAgICAgICAgICAgICAgICAgICAgICB8ICg1LCAkOCwg ICAgICAgICAgICAgICAgICB8Cit8ICAgWzEgSmFuIDIwMjAsMSBBdWcgMjAyMSkpIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgWzEgU2VwIDIwMjMsMSBNYXIgMjAyNSkp ICAgIHwgICBbMSBNYXIgMjAyNSwpKSAgICAgICAgIHwKK3wgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgfAorKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rCisKK3wgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg IHwgICAgICAgICAgICAgICAgIHwKKzIwMjAgICAgICAgICAgICAgIDIwMjEgICAgICAgICAgICAg IDIwMjIgICAgICAgICAgICAgIDIwMjMgICAgICAgICAgICAgIDIwMjQgICAgICAgICAgICAgIDIw MjUgICAgICAgICAgICAgIDIwMjYgICAgICAgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvZG9jL3Ny Yy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUuc3ZnIGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90 ZW1wb3JhbC11cGRhdGUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li40ZjEzNzU1ODI3MgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVt cG9yYWwtdXBkYXRlLnN2ZwpAQCAtMCwwICsxLDQ1IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4K KzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTMz MCAyMjQiIHdpZHRoPSIxMzMwIiBoZWlnaHQ9IjIyNCIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRy aWNQcmVjaXNpb24iIHZlcnNpb249IjEuMCI+CisgIDxkZWZzPgorICAgIDxmaWx0ZXIgaWQ9ImYy IiB4PSIwIiB5PSIwIiB3aWR0aD0iMjAwJSIgaGVpZ2h0PSIyMDAlIj4KKyAgICAgIDxmZU9mZnNl dCByZXN1bHQ9Im9mZk91dCIgaW49IlNvdXJjZUdyYXBoaWMiIGR4PSI1IiBkeT0iNSIvPgorICAg ICAgPGZlR2F1c3NpYW5CbHVyIHJlc3VsdD0iYmx1ck91dCIgaW49Im9mZk91dCIgc3RkRGV2aWF0 aW9uPSIzIi8+CisgICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJibHVyT3V0 IiBtb2RlPSJub3JtYWwiLz4KKyAgICA8L2ZpbHRlcj4KKyAgPC9kZWZzPgorICA8ZyBzdHJva2Ut d2lkdGg9IjEiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1saW5lam9pbj0icm91bmQi PgorICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMzMwIiBoZWlnaHQ9IjIyNCIgc3R5bGU9 ImZpbGw6ICNmZmZmZmYiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13aWR0 aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3Vu ZCIgZmlsbD0iIzk5ZGQ5OSIgZD0iTTM4NS4wIDYzLjAgTDM4NS4wIDE0Ny4wIEwyNS4wIDE0Ny4w IEwyNS4wIDYzLjAgeiIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRo PSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5k IiBmaWxsPSIjOTlkZDk5IiBkPSJNMTI4NS4wIDYzLjAgTDEyODUuMCAxNDcuMCBMOTc1LjAgMTQ3 LjAgTDk3NS4wIDYzLjAgeiIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdp ZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJv dW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJNMzg1LjAgMTQ3LjAgTDY4NS4wIDE0Ny4wIEw2ODUuMCA2 My4wIEwzODUuMCA2My4wIHoiLz4KKyAgICA8cGF0aCBzdHJva2U9IiMwMDAwMDAiIHN0cm9rZS13 aWR0aD0iMS4wMDAwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJy b3VuZCIgZmlsbD0iIzk5ZGQ5OSIgZD0iTTY4NS4wIDYzLjAgTDY4NS4wIDE0Ny4wIEw5NzUuMCAx NDcuMCBMOTc1LjAgNjMuMCB6Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Ut d2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0i cm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yMDUuMCAxNjguMCBMMjA1LjAgMTgxLjAgIi8+CisgICAg PHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGlu ZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yNS4w IDE2OC4wIEwyNS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tl LXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49 InJvdW5kIiBmaWxsPSJub25lIiBkPSJNMzg1LjAgMTY4LjAgTDM4NS4wIDE4MS4wICIvPgorICAg IDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxp bmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNTY1 LjAgMTY4LjAgTDU2NS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ry b2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpv aW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNzQ1LjAgMTY4LjAgTDc0NS4wIDE4MS4wICIvPgor ICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tl LWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJN OTI1LjAgMTY4LjAgTDkyNS4wIDE4MS4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIg c3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGlu ZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNMTEwNS4wIDE2OC4wIEwxMTA1LjAgMTgxLjAg Ii8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBz dHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUi IGQ9Ik0xMjg1LjAgMTY4LjAgTDEyODUuMCAxODEuMCAiLz4KKyAgICA8dGV4dCB4PSI0NiIgeT0i OTYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZp bGw9IiMwMDAwMDAiPnByb2R1Y3RzPC90ZXh0PgorICAgIDx0ZXh0IHg9IjQwIiB5PSIxMTAiIGZv bnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMw MDAwMDAiPig1LCAkNSw8L3RleHQ+CisgICAgPHRleHQgeD0iODYiIHk9IjEyNCIgZm9udC1mYW1p bHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+ WzEgSmFuIDIwMjAsMSBKYW4gMjAyMikpPC90ZXh0PgorICAgIDx0ZXh0IHg9IjIwIiB5PSIxOTQi IGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9 IiMwMDAwMDAiPjIwMjA8L3RleHQ+CisgICAgPHRleHQgeD0iMjAwIiB5PSIxOTQiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi PjIwMjE8L3RleHQ+CisgICAgPHRleHQgeD0iNDA2IiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8 L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5PSIxMTAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBm b250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPig1LCAkOCw8L3RleHQ+ CisgICAgPHRleHQgeD0iNDQ1IiB5PSIxMjQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNp emU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPlsxIEphbiAyMDIyLDEgU2VwIDIw MjMpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIzODAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyMjwvdGV4 dD4KKyAgICA8dGV4dCB4PSI1NjAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQt c2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyMzwvdGV4dD4KKyAgICA8 dGV4dCB4PSI3MTIiIHk9Ijk2IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIg c3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4 PSI3MjIiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9r ZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsICQxMiw8L3RleHQ+CisgICAgPHRleHQgeD0iNzQz IiB5PSIxMjQiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5v bmUiIGZpbGw9IiMwMDAwMDAiPlsxIFNlcCAyMDIzLDEgTWFyIDIwMjUpKTwvdGV4dD4KKyAgICA8 dGV4dCB4PSI3NDAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUi IHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNDwvdGV4dD4KKyAgICA8dGV4dCB4PSI5 MjAiIHk9IjE5NCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0i bm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNTwvdGV4dD4KKyAgICA8dGV4dCB4PSI5OTYiIHk9Ijk2 IiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxs PSIjMDAwMDAwIj5wcm9kdWN0czwvdGV4dD4KKyAgICA8dGV4dCB4PSI5OTAiIHk9IjExMCIgZm9u dC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAw MDAwMCI+KDUsICQ4LDwvdGV4dD4KKyAgICA8dGV4dCB4PSIxMDI2IiB5PSIxMjQiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi PlsxIE1hciAyMDI1LCkpPC90ZXh0PgorICAgIDx0ZXh0IHg9IjExMDAiIHk9IjE5NCIgZm9udC1m YW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAw MCI+MjAyNjwvdGV4dD4KKyAgICA8dGV4dCB4PSIxMjg5IiB5PSIxOTQiIGZvbnQtZmFtaWx5PSJD b3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPi4uLjwv dGV4dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3Rl bXBvcmFsLXVwZGF0ZS50eHQgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXVwZGF0ZS50 eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjcwYzMxYjVlMDUwCi0t LSAvZGV2L251bGwKKysrIGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC11cGRhdGUudHh0 CkBAIC0wLDAgKzEsMTIgQEAKKworCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCit8IGNHUkUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICB8IGNHUkUgICAg ICAgICAgICAgICAgICAgICAgIHwgY0dSRSAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IHBy b2R1Y3RzICAgICAgICAgICAgICAgICAgICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAg ICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgIHwgcHJvZHVjdHMgICAgICAgICAgICAg ICAgICAgICB8Cit8ICg1LCAkNSwgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICg1LCAkOCwg ICAgICAgICAgICAgICAgICAgICB8ICg1LCAkMTIsICAgICAgICAgICAgICAgICAgIHwgKDUsICQ4 LCAgICAgICAgICAgICAgICAgICAgICB8Cit8ICAgWzEgSmFuIDIwMjAsMSBKYW4gMjAyMikpICAg ICAgICB8ICAgWzEgSmFuIDIwMjIsMSBTZXAgMjAyMykpICB8ICAgWzEgU2VwIDIwMjMsMSBNYXIg MjAyNSkpIHwgICBbMSBNYXIgMjAyNSwpKSAgICAgICAgICAgICB8Cit8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCisKK3wgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKKzIwMjAgICAgICAgICAgICAgIDIwMjEgICAg ICAgICAgICAgIDIwMjIgICAgICAgICAgICAgIDIwMjMgICAgICAgICAgICAgIDIwMjQgICAgICAg ICAgICAgIDIwMjUgICAgICAgICAgICAgIDIwMjYgICAgICAgICAgICAgIC4uLgpkaWZmIC0tZ2l0 IGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwgYi9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dt bAppbmRleCBhYWI4OTE3YWMwYS4uNGM4ZmE5M2Q5YTAgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC90ZW1wb3JhbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCkBAIC0yMywy MyArMjMsMjMgQEAKICAgPC9pbmRleHRlcm0+CiAKICAgPHBhcmE+Ci0gICBBIDxmaXJzdHRlcm0+ cGVyaW9kPC9maXJzdHRlcm0+IGlzIG1ldGFkYXRhIGF0dGFjaGVkIHRvIGEgdGFibGUgCi0gICB1 bml0aW5nIHR3byBjb2x1bW5zLCBhIHN0YXJ0IHRpbWUgYW5kIGVuZCB0aW1lLCBpbnRvIG9uZSBy YW5nZS1saWtlIAotICAgY29uc3RydWN0LiBQZXJpb2RzIGFyZSB1c2VkIHRvIHJlcHJlc2VudCA8 bGluayAKLSAgIGxpbmtlbmQ9InN5c3RlbS10aW1lIj5zeXN0ZW0gdGltZTwvbGluaz4gYW5kIDxs aW5rIAotICAgbGlua2VuZD0iYXBwbGljYXRpb24tdGltZSI+YXBwbGljYXRpb24gdGltZTwvbGlu az4uIEEgc3lzdGVtLXRpbWUgCi0gICBwZXJpb2QgbXVzdCBiZSBuYW1lZCA8bGl0ZXJhbD5zeXN0 ZW1fdGltZTwvbGl0ZXJhbD4sIGFuZCBhbiAKLSAgIGFwcGxpY2F0aW9uLXRpbWUgcGVyaW9kIGNh biBiZSBuYW1lZCBhbnl0aGluZyBlbHNlLiBUaGVpciBuYW1lcyBtdXN0IAorICAgQSA8Zmlyc3R0 ZXJtPnBlcmlvZDwvZmlyc3R0ZXJtPiBpcyBtZXRhZGF0YSBhdHRhY2hlZCB0byBhIHRhYmxlCisg ICB1bml0aW5nIHR3byBjb2x1bW5zLCBhIHN0YXJ0IHRpbWUgYW5kIGVuZCB0aW1lLCBpbnRvIG9u ZSByYW5nZS1saWtlCisgICBjb25zdHJ1Y3QuIFBlcmlvZHMgYXJlIHVzZWQgdG8gcmVwcmVzZW50 IDxsaW5rCisgICBsaW5rZW5kPSJzeXN0ZW0tdGltZSI+c3lzdGVtIHRpbWU8L2xpbms+IGFuZCA8 bGluaworICAgbGlua2VuZD0iYXBwbGljYXRpb24tdGltZSI+YXBwbGljYXRpb24gdGltZTwvbGlu az4uIEEgc3lzdGVtLXRpbWUKKyAgIHBlcmlvZCBtdXN0IGJlIG5hbWVkIDxsaXRlcmFsPnN5c3Rl bV90aW1lPC9saXRlcmFsPiwgYW5kIGFuCisgICBhcHBsaWNhdGlvbi10aW1lIHBlcmlvZCBjYW4g YmUgbmFtZWQgYW55dGhpbmcgZWxzZS4gVGhlaXIgbmFtZXMgbXVzdAogICAgbm90IGNvbmZsaWN0 IHdpdGggY29sdW1uIG5hbWVzIGZyb20gdGhlIHNhbWUgdGFibGUuCiAgIDwvcGFyYT4KIAogICA8 cGFyYT4KLSAgIFBlcmlvZHMgYXJlIHJlZmVyZW5jZWQgaW4gc2V2ZXJhbCB0ZW1wb3JhbCBvcGVy YXRpb25zIGRlc2NyaWJlZCBpbiAKLSAgIHRoaXMgY2hhcHRlcjogdGVtcG9yYWwgcHJpbWFyeSBr ZXlzLCB1bmlxdWUgY29uc3RyYWludHMsIGZvcmVpZ24ga2V5cywgCi0gICB1cGRhdGUgY29tbWFu ZHMsIGFuZCBkZWxldGUgY29tbWFuZHMuIAotICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3By b2R1Y3RuYW1lPiBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBwZXJpb2RzLiAKKyAgIFBlcmlvZHMgYXJl IHJlZmVyZW5jZWQgaW4gc2V2ZXJhbCB0ZW1wb3JhbCBvcGVyYXRpb25zIGRlc2NyaWJlZCBpbgor ICAgdGhpcyBjaGFwdGVyOiB0ZW1wb3JhbCBwcmltYXJ5IGtleXMsIHVuaXF1ZSBjb25zdHJhaW50 cywgZm9yZWlnbiBrZXlzLAorICAgdXBkYXRlIGNvbW1hbmRzLCBhbmQgZGVsZXRlIGNvbW1hbmRz LgorICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBkb2VzIG5vdCB5ZXQg c3VwcG9ydCBwZXJpb2RzLgogICAgQ29tbWFuZHMgdGhhdCBhY2NlcHQgcGVyaW9kcyBpbnN0ZWFk IGFjY2VwdCBjb2x1bW5zIHdpdGggYQotICAgPGxpbmsgbGlua2VuZD0icmFuZ2V0eXBlcy1idWls dGluIj5yYW5nZXR5cGUgb3IgbXVsdGlyYW5nZXR5cGU8L2xpbms+LiAKKyAgIDxsaW5rIGxpbmtl bmQ9InJhbmdldHlwZXMtYnVpbHRpbiI+cmFuZ2V0eXBlIG9yIG11bHRpcmFuZ2V0eXBlPC9saW5r Pi4KICAgIFN1cHBvcnQgZm9yIHBlcmlvZHMgaXMgcGxhbm5lZCBmb3IgdGhlIGZ1dHVyZS4KICAg PC9wYXJhPgogIDwvc2VjdDE+CkBAIC0xOTUsMTQgKzE5NSwxNCBAQCBjb21tYW5kLgogICAgPHRp dGxlPlRlbXBvcmFsIEZvcmVpZ24gS2V5czwvdGl0bGU+CiAKICAgIDxwYXJhPgotICAgIEEgdGVt cG9yYWwgZm9yZWlnbiBrZXkgaXMgYSByZWZlcmVuY2UgZnJvbSBvbmUgYXBwbGljYXRpb24tdGlt ZSAKLSAgICB0YWJsZSB0byBhbm90aGVyIGFwcGxpY2F0aW9uLXRpbWUgdGFibGUuIEp1c3QgYXMg YSBub24tdGVtcG9yYWwgCi0gICAgcmVmZXJlbmNlIHJlcXVpcmVzIGEgcmVmZXJlbmNlZCBrZXkg dG8gZXhpc3QsIHNvIGEgdGVtcG9yYWwgcmVmZXJlbmNlIAotICAgIHJlcXVpcmVzIGEgcmVmZXJl bmNlZCBrZXkgdG8gZXhpc3QsIGJ1dCBkdXJpbmcgd2hhdGV2ZXIgaGlzdG9yeSB0aGUgCi0gICAg cmVmZXJlbmNlIGV4aXN0cy4gU28gaWYgdGhlIDxsaXRlcmFsPnByb2R1Y3RzPC9saXRlcmFsPiB0 YWJsZSBpcyAKLSAgICByZWZlcmVuY2VkIGJ5IGEgPGxpdGVyYWw+dmFyaWFudHM8L2xpdGVyYWw+ IHRhYmxlLCBhbmQgYSB2YXJpYW50IG9mIAotICAgIHByb2R1Y3QgNSBoYXMgYW4gYXBwbGljYXRp b24tdGltZSBvZiAKLSAgICA8bGl0ZXJhbD5bMjAyMC0wMS0wMSwyMDI2LTAxLTAxKTwvbGl0ZXJh bD4sIHRoZW4gcHJvZHVjdCA1IG11c3QgZXhpc3QgCisgICAgQSB0ZW1wb3JhbCBmb3JlaWduIGtl eSBpcyBhIHJlZmVyZW5jZSBmcm9tIG9uZSBhcHBsaWNhdGlvbi10aW1lCisgICAgdGFibGUgdG8g YW5vdGhlciBhcHBsaWNhdGlvbi10aW1lIHRhYmxlLiBKdXN0IGFzIGEgbm9uLXRlbXBvcmFsCisg ICAgcmVmZXJlbmNlIHJlcXVpcmVzIGEgcmVmZXJlbmNlZCBrZXkgdG8gZXhpc3QsIHNvIGEgdGVt cG9yYWwgcmVmZXJlbmNlCisgICAgcmVxdWlyZXMgYSByZWZlcmVuY2VkIGtleSB0byBleGlzdCwg YnV0IGR1cmluZyB3aGF0ZXZlciBoaXN0b3J5IHRoZQorICAgIHJlZmVyZW5jZSBleGlzdHMuIFNv IGlmIHRoZSA8bGl0ZXJhbD5wcm9kdWN0czwvbGl0ZXJhbD4gdGFibGUgaXMKKyAgICByZWZlcmVu Y2VkIGJ5IGEgPGxpdGVyYWw+dmFyaWFudHM8L2xpdGVyYWw+IHRhYmxlLCBhbmQgYSB2YXJpYW50 IG9mCisgICAgcHJvZHVjdCA1IGhhcyBhbiBhcHBsaWNhdGlvbi10aW1lIG9mCisgICAgPGxpdGVy YWw+WzIwMjAtMDEtMDEsMjAyNi0wMS0wMSk8L2xpdGVyYWw+LCB0aGVuIHByb2R1Y3QgNSBtdXN0 IGV4aXN0CiAgICAgdGhyb3VnaG91dCB0aGF0IHBlcmlvZC4KICAgIDwvcGFyYT4KIApAQCAtMjE2 LDE5ICsyMTYsMTkgQEAgY29tbWFuZC4KICAgIDwvZmlndXJlPgogCiAgICA8cGFyYT4KLSAgICA8 eHJlZiBsaW5rZW5kPSJ0ZW1wb3JhbC1yZWZlcmVuY2VzLWZpZ3VyZSIvPiBwbG90cyBwcm9kdWN0 IDUgKGluIAotICAgIGdyZWVuKSBhbmQgdHdvIHZhcmlhbnRzIHJlZmVyZW5jaW5nIGl0IChpbiB5 ZWxsb3cpIG9uIHRoZSBzYW1lIAotICAgIHRpbWVsaW5lLiBFYWNoIHZhcmlhbnQgdHVwbGUgaXMg c2hvd24gd2l0aCBpdHMgaWQsIGEgcHJvZHVjdCBpZCwgYSAKLSAgICBuYW1lLCBhbmQgYW4gYXBw bGljYXRpb24tdGltZS4gU28gdmFyaWFudCA4IChNZWRpdW0pIHdhcyBpbnRyb2R1Y2VkIAotICAg IGZpcnN0LCB0aGVuIHZhcmlhbnQgOSAoWFhMKS4gQm90aCBzYXRpc2Z5IHRoZSBmb3JlaWduIGtl eSBjb25zdHJhaW50LCAKKyAgICA8eHJlZiBsaW5rZW5kPSJ0ZW1wb3JhbC1yZWZlcmVuY2VzLWZp Z3VyZSIvPiBwbG90cyBwcm9kdWN0IDUgKGluCisgICAgZ3JlZW4pIGFuZCB0d28gdmFyaWFudHMg cmVmZXJlbmNpbmcgaXQgKGluIHllbGxvdykgb24gdGhlIHNhbWUKKyAgICB0aW1lbGluZS4gRWFj aCB2YXJpYW50IHR1cGxlIGlzIHNob3duIHdpdGggaXRzIGlkLCBhIHByb2R1Y3QgaWQsIGEKKyAg ICBuYW1lLCBhbmQgYW4gYXBwbGljYXRpb24tdGltZS4gU28gdmFyaWFudCA4IChNZWRpdW0pIHdh cyBpbnRyb2R1Y2VkCisgICAgZmlyc3QsIHRoZW4gdmFyaWFudCA5IChYWEwpLiBCb3RoIHNhdGlz ZnkgdGhlIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQsCiAgICAgYmVjYXVzZSB0aGUgcmVmZXJlbmNl ZCBwcm9kdWN0IGV4aXN0cyB0aHJvdWdob3V0IHRoZWlyIGVudGlyZSBoaXN0b3J5LgogICAgPC9w YXJhPgogCiAgICA8cGFyYT4KLSAgICBOb3RlIHRoYXQgYSB0ZW1wb3JhbCByZWZlcmVuY2UgbmVl ZCBub3QgYmUgZnVsZmlsbGVkIGJ5IGEgc2luZ2xlIAotICAgIHJvdyBpbiB0aGUgcmVmZXJlbmNl ZCB0YWJsZS4gUHJvZHVjdCA1IGhhZCBhIHByaWNlIGNoYW5nZSBpbiB0aGUgbWlkZGxlIAotICAg IG9mIHZhcmlhbnQgOCdzIGhpc3RvcnksIGJ1dCB0aGUgcmVmZXJlbmNlIGlzIHN0aWxsIHZhbGlk LiBUaGUgCi0gICAgY29tYmluYXRpb24gb2YgYWxsIG1hdGNoaW5nIHJvd3MgaXMgdXNlZCB0byB0 ZXN0IHdoZXRoZXIgdGhlIHJlZmVyZW5jZWQgCisgICAgTm90ZSB0aGF0IGEgdGVtcG9yYWwgcmVm ZXJlbmNlIG5lZWQgbm90IGJlIGZ1bGZpbGxlZCBieSBhIHNpbmdsZQorICAgIHJvdyBpbiB0aGUg cmVmZXJlbmNlZCB0YWJsZS4gUHJvZHVjdCA1IGhhZCBhIHByaWNlIGNoYW5nZSBpbiB0aGUgbWlk ZGxlCisgICAgb2YgdmFyaWFudCA4J3MgaGlzdG9yeSwgYnV0IHRoZSByZWZlcmVuY2UgaXMgc3Rp bGwgdmFsaWQuIFRoZQorICAgIGNvbWJpbmF0aW9uIG9mIGFsbCBtYXRjaGluZyByb3dzIGlzIHVz ZWQgdG8gdGVzdCB3aGV0aGVyIHRoZSByZWZlcmVuY2VkCiAgICAgaGlzdG9yeSBjb250YWlucyB0 aGUgcmVmZXJlbmNpbmcgcm93LgogICAgPC9wYXJhPgogCkBAIC0yNjIsOCArMjYyLDEyNyBAQCBB TFRFUiBUQUJMRSB2YXJpYW50cwogICAgPHRpdGxlPlRlbXBvcmFsIFVwZGF0ZSBhbmQgRGVsZXRl PC90aXRsZT4KIAogICAgPHBhcmE+Ci0gICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8L3Byb2R1 Y3RuYW1lPiBkb2VzIG5vdCB5ZXQgc3VwcG9ydCBzcGVjaWFsCi0gICAgc3ludGF4IHRvIHVwZGF0 ZSBhbmQgZGVsZXRlIHBvcnRpb25zIG9mIGhpc3RvcnkgaW4gdGVtcG9yYWwgdGFibGVzLgorICAg IFNwZWNpYWwgc3ludGF4IGlzIGF2YWlsYWJsZSB0byB1cGRhdGUgYW5kIGRlbGV0ZSBmcm9tIHRl bXBvcmFsCisgICAgdGFibGVzLiAoTm8gZXh0cmEgc3ludGF4IGlzIHJlcXVpcmVkIHRvIGluc2Vy dCBpbnRvIHRoZW06IHRoZSB1c2VyIGp1c3QKKyAgICBwcm92aWRlcyB0aGUgYXBwbGljYXRpb24g dGltZSBsaWtlIGFueSBvdGhlciBhdHRyaWJ1dGUuKSBXaGVuIHVwZGF0aW5nCisgICAgb3IgZGVs ZXRpbmcsIHRoZSB1c2VyIGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBwb3J0aW9uIG9mIGhpc3Rvcnku IE9ubHkKKyAgICByb3dzIG92ZXJsYXBwaW5nIHRoYXQgaGlzdG9yeSBhcmUgYWZmZWN0ZWQsIGFu ZCB3aXRoaW4gdGhvc2Ugcm93cyBvbmx5CisgICAgdGhlIHRhcmdldGVkIGhpc3RvcnkgaXMgY2hh bmdlZC4gSWYgYSByb3cgY29udGFpbnMgbW9yZSBoaXN0b3J5IGJleW9uZAorICAgIHdoYXQgaXMg dGFyZ2V0ZWQsIGl0cyBhcHBsaWNhdGlvbiB0aW1lIGlzIHJlZHVjZWQgdG8gZml0IHdpdGhpbiB0 aGUKKyAgICB0YXJnZXRlZCBpbnRlcnZhbCwgYW5kIG5ldyByb3dzIGFyZSBpbnNlcnRlZCB0byBw cmVzZXJ2ZSB0aGUgaGlzdG9yeQorICAgIHRoYXQgd2FzIG5vdCB0YXJnZXRlZC4KKyAgIDwvcGFy YT4KKworICAgPHBhcmE+CisgICAgVGhlIHN5bnRheCBmb3IgYSB0ZW1wb3JhbCB1cGRhdGUgaXM6 CisKKzxwcm9ncmFtbGlzdGluZz4KK1VQREFURSBwcm9kdWN0cworICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDIzLTA5LTAxJyBUTyAnMjAyNS0wMy0wMScKKyAgQVMgcAorICBTRVQg cHJpY2UgPSAxMgorICBXSEVSRSBpZCA9IDU7Cis8L3Byb2dyYW1saXN0aW5nPgorCisgICAgVXNp bmcgdGhlIGV4YW1wbGUgdGFibGUgaW50cm9kdWNlZCBhbHJlYWR5LCB0aGlzIGNvbW1hbmQgd2ls bAorICAgIHVwZGF0ZSB0aGUgc2Vjb25kIHJlY29yZCBmb3IgcHJvZHVjdCA1LiBJdCB3aWxsIHNl dCB0aGUgcHJpY2UgdG8gMTIgYW5kCisgICAgdGhlIGFwcGxpY2F0aW9uIHRpbWUgdG8gPGxpdGVy YWw+WzIwMjMtMDktMDEsMjAyNS0wMy0wMSk8L2xpdGVyYWw+LgorICAgIFRoZW4sIHNpbmNlIHRo ZSByb3cncyBhcHBsaWNhdGlvbiB0aW1lIHdhcyBvcmlnaW5hbGx5CisgICAgPGxpdGVyYWw+WzIw MjItMDEtMDEsKTwvbGl0ZXJhbD4sIHRoZSBjb21tYW5kIG11c3QgaW5zZXJ0IHR3bworICAgIDxn bG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3JhbAor ICAgIGxlZnRvdmVyczwvZ2xvc3N0ZXJtPjogb25lIGZvciBoaXN0b3J5IGJlZm9yZSBTZXB0ZW1i ZXIgMSwgMjAyMywgYW5kCisgICAgYW5vdGhlciBmb3IgaGlzdG9yeSBzaW5jZSBNYXJjaCAxLCAy MDI1LiBBZnRlciB0aGUgdXBkYXRlLCB0aGUgdGFibGUKKyAgICBoYXMgdGhyZWUgcm93cyBmb3Ig cHJvZHVjdCA1OgorCis8cHJvZ3JhbWxpc3Rpbmc+CisgaWQgfCBwcmljZSB8ICAgICAgICB2YWxp ZF9hdAorLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgNSB8ICAgICA1 IHwgWzIwMjAtMDEtMDEsMjAyMi0wMS0wMSkKKyAgNSB8ICAgICA4IHwgWzIwMjItMDEtMDEsMjAy My0wOS0wMSkKKyAgNSB8ICAgIDEyIHwgWzIwMjMtMDktMDEsMjAyNS0wMy0wMSkKKyAgNSB8ICAg ICA4IHwgWzIwMjUtMDMtMDEsKQorPC9wcm9ncmFtbGlzdGluZz4KKworICAgIFRoZSBuZXcgaGlz dG9yeSBjb3VsZCBiZSBwbG90dGVkIGFzIGluIDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLXVwZGF0 ZS1maWd1cmUiLz4uCisgICA8L3BhcmE+CisKKyAgIDxmaWd1cmUgaWQ9InRlbXBvcmFsLXVwZGF0 ZS1maWd1cmUiPgorICAgIDx0aXRsZT5UZW1wb3JhbCBVcGRhdGUgRXhhbXBsZTwvdGl0bGU+Cisg ICAgPG1lZGlhb2JqZWN0PgorICAgICA8aW1hZ2VvYmplY3Q+CisgICAgICA8aW1hZ2VkYXRhIGZp bGVyZWY9ImltYWdlcy90ZW1wb3JhbC11cGRhdGUuc3ZnIiBmb3JtYXQ9IlNWRyIgd2lkdGg9IjEw MCUiLz4KKyAgICAgPC9pbWFnZW9iamVjdD4KKyAgICA8L21lZGlhb2JqZWN0PgorICAgPC9maWd1 cmU+CisKKyAgIDxwYXJhPgorICAgIFNpbWlsYXJseSwgYSBzcGVjaWZpYyBwb3J0aW9uIG9mIGhp c3RvcnkgbWF5IGJlIHRhcmdldGVkIHdoZW4KKyAgICBkZWxldGluZyByb3dzIGZyb20gYSB0YWJs ZS4gSW4gdGhhdCBjYXNlLCB0aGUgb3JpZ2luYWwgcm93cyBhcmUKKyAgICByZW1vdmVkLCBidXQg bmV3CisgICAgPGdsb3NzdGVybSBsaW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMi PnRlbXBvcmFsIGxlZnRvdmVyczwvZ2xvc3N0ZXJtPgorICAgIGFyZSBpbnNlcnRlZCB0byBwcmVz ZXJ2ZSB0aGUgdW50b3VjaGVkIGhpc3RvcnkuIFRoZSBzeW50YXggZm9yIGEKKyAgICB0ZW1wb3Jh bCBkZWxldGUgaXM6CisKKzxwcm9ncmFtbGlzdGluZz4KK0RFTEVURSBGUk9NIHByb2R1Y3RzCisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMjEtMDgtMDEnIFRPICcyMDIzLTA5LTAx JworICBBUyBwCitXSEVSRSBpZCA9IDU7Cis8L3Byb2dyYW1saXN0aW5nPgorCisgICAgQ29udGlu dWluZyB0aGUgZXhhbXBsZSwgdGhpcyBjb21tYW5kIHdvdWxkIGRlbGV0ZSB0d28gcmVjb3Jkcy4g VGhlCisgICAgZmlyc3QgcmVjb3JkIHdvdWxkIHlpZWxkIGEgc2luZ2xlIHRlbXBvcmFsIGxlZnRv dmVyLCBhbmQgdGhlIHNlY29uZAorICAgIHdvdWxkIGJlIGRlbGV0ZWQgZW50aXJlbHkuIFRoZSBy b3dzIGZvciBwcm9kdWN0IDUgd291bGQgbm93IGJlOgorCis8cHJvZ3JhbWxpc3Rpbmc+CisgaWQg fCBwcmljZSB8ICAgICAgICB2YWxpZF9hdAorLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAgNSB8ICAgICA1IHwgWzIwMjAtMDEtMDEsMjAyMS0wOC0wMSkKKyAgNSB8ICAg IDEyIHwgWzIwMjMtMDktMDEsMjAyNS0wMy0wMSkKKyAgNSB8ICAgICA4IHwgWzIwMjUtMDMtMDEs KQorPC9wcm9ncmFtbGlzdGluZz4KKworICAgIFRoZSBuZXcgaGlzdG9yeSBjb3VsZCBiZSBwbG90 dGVkIGFzIGluIDx4cmVmIGxpbmtlbmQ9InRlbXBvcmFsLWRlbGV0ZS1maWd1cmUiLz4uCisgICA8 L3BhcmE+CisKKyAgIDxmaWd1cmUgaWQ9InRlbXBvcmFsLWRlbGV0ZS1maWd1cmUiPgorICAgIDx0 aXRsZT5UZW1wb3JhbCBEZWxldGUgRXhhbXBsZTwvdGl0bGU+CisgICAgPG1lZGlhb2JqZWN0Pgor ICAgICA8aW1hZ2VvYmplY3Q+CisgICAgICA8aW1hZ2VkYXRhIGZpbGVyZWY9ImltYWdlcy90ZW1w b3JhbC1kZWxldGUuc3ZnIiBmb3JtYXQ9IlNWRyIgd2lkdGg9IjEwMCUiLz4KKyAgICAgPC9pbWFn ZW9iamVjdD4KKyAgICA8L21lZGlhb2JqZWN0PgorICAgPC9maWd1cmU+CisKKyAgIDxwYXJhPgor ICAgIEluc3RlYWQgb2YgdXNpbmcgdGhlIDxsaXRlcmFsPkZST00gLi4uIFRPIC4uLjwvbGl0ZXJh bD4gc3ludGF4LAorICAgIHRlbXBvcmFsIHVwZGF0ZS9kZWxldGUgY29tbWFuZHMgY2FuIGFsc28g Z2l2ZSB0aGUgdGFyZ2V0ZWQKKyAgICByYW5nZS9tdWx0aXJhbmdlIGRpcmVjdGx5LCBpbnNpZGUg cGFyZW50aGVzZXMuIEZvciBleGFtcGxlOgorICAgIDxsaXRlcmFsPkRFTEVURSBGUk9NIHByb2R1 Y3RzIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgnWzIwMjgtMDEtMDEsKScpIC4uLjwvbGl0ZXJh bD4uCisgICAgVGhpcyBzeW50YXggaXMgcmVxdWlyZWQgd2hlbiBhcHBsaWNhdGlvbiB0aW1lIGlz IHN0b3JlZAorICAgIGluIGEgbXVsdGlyYW5nZSBjb2x1bW4uCisgICA8L3BhcmE+CisKKyAgIDxw YXJhPgorICAgIFdoZW4gYXBwbGljYXRpb24gdGltZSBpcyBzdG9yZWQgaW4gYSByYW5nZXR5cGUg Y29sdW1uLCB6ZXJvLCBvbmUgb3IKKyAgICB0d28gdGVtcG9yYWwgbGVmdG92ZXJzIGFyZSBwcm9k dWNlZCBieSBlYWNoIHJvdyB0aGF0IGlzCisgICAgdXBkYXRlZC9kZWxldGVkLiBXaXRoIGEgbXVs dGlyYW5nZSBjb2x1bW4sIG9ubHkgemVybyBvciBvbmUgdGVtcG9yYWwKKyAgICBsZWZ0b3ZlciBp cyBwcm9kdWNlZC4gVGhlIGxlZnRvdmVyIGJvdW5kcyBhcmUgY29tcHV0ZWQgdXNpbmcKKyAgICA8 bGl0ZXJhbD5yYW5nZV9taW51c19tdWx0aTwvbGl0ZXJhbD4gYW5kCisgICAgPGxpdGVyYWw+bXVs dGlyYW5nZV9taW51c19tdWx0aTwvbGl0ZXJhbD4KKyAgICAoc2VlIDx4cmVmIGxpbmtlbmQ9ImZ1 bmN0aW9ucy1yYW5nZSIvPikuCisgICA8L3BhcmE+CisKKyAgIDxwYXJhPgorICAgIFRoZSBib3Vu ZHMgZ2l2ZW4gdG8gPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IG11c3QgYmUKKyAg ICBjb25zdGFudC4gRnVuY3Rpb25zIGxpa2UgPGxpdGVyYWw+Tk9XKCk8L2xpdGVyYWw+IGFyZSBh bGxvd2VkLCBidXQKKyAgICBjb2x1bW4gcmVmZXJlbmNlcyBhcmUgbm90LgorICAgPC9wYXJhPgor CisgICA8cGFyYT4KKyAgICBXaGVuIHRlbXBvcmFsIGxlZnRvdmVycyBhcmUgaW5zZXJ0ZWQsIGFs bCA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+CisgICAgdHJpZ2dlcnMgYXJlIGZpcmVkLCBidXQg cGVybWlzc2lvbiBjaGVja3MgZm9yIGluc2VydGluZyByb3dzIGFyZQorICAgIHNraXBwZWQuCiAg ICA8L3BhcmE+CiAgIDwvc2VjdDI+CiAgIDwvc2VjdDE+Ci0tIAoyLjM5LjUKCg== --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0002-Document-temporal-foreign-keys.patch" Content-Disposition: attachment; filename="v56-0002-Document-temporal-foreign-keys.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qb1 RnJvbSA5NmQxNmJmNTI0N2UxNDRlMzJjN2IxN2ExZGRkNWUyMWE3NWE3MTRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMTcgSnVuIDIwMjUgMjM6MjM6MjggLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAwMi8xMV0gRG9jdW1lbnQgdGVtcG9yYWwgZm9yZWlnbiBrZXlzCgpBdXRo b3I6IFBhdWwgQS4gSnVuZ3dpcnRoIDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQog ZG9jL3NyYy9zZ21sL2ltYWdlcy9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAzICstCiBkb2Mv c3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnIHwgMzcgKysrKysrKysrKysr CiBkb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVyZW5jZXMudHh0IHwgMjEgKysrKysr KwogZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwgICAgICAgICAgICAgICAgICB8IDY3ICsrKysr KysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMjcgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9y YWwtcmVmZXJlbmNlcy5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mvc3JjL3NnbWwvaW1hZ2Vz L3RlbXBvcmFsLXJlZmVyZW5jZXMudHh0CgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ltYWdl cy9NYWtlZmlsZSBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKaW5kZXggMWQ5OWQ0ZTMw YzguLmZkNTViOWFkMjNmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL01ha2VmaWxl CisrKyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvTWFrZWZpbGUKQEAgLTYsNyArNiw4IEBAIEFMTF9J TUFHRVMgPSBcCiAJZ2VuZXRpYy1hbGdvcml0aG0uc3ZnIFwKIAlnaW4uc3ZnIFwKIAlwYWdlbGF5 b3V0LnN2ZyBcCi0JdGVtcG9yYWwtZW50aXRpZXMuc3ZnCisJdGVtcG9yYWwtZW50aXRpZXMuc3Zn IFwKKwl0ZW1wb3JhbC1yZWZlcmVuY2VzLnN2ZwogCiBESVRBQSA9IGRpdGFhCiBET1QgPSBkb3QK ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtcmVmZXJlbmNlcy5zdmcg Yi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVyZW5jZXMuc3ZnCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5mOTA5MWFjOWIwYQotLS0gL2Rldi9udWxsCisr KyBiL2RvYy9zcmMvc2dtbC9pbWFnZXMvdGVtcG9yYWwtcmVmZXJlbmNlcy5zdmcKQEAgLTAsMCAr MSwzNyBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3Lncz Lm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDk3MCAzNTAiIHdpZHRoPSI5NzAiIGhlaWdodD0i MzUwIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiIgdmVyc2lvbj0iMS4wIj4K KyAgPGRlZnM+CisgICAgPGZpbHRlciBpZD0iZjIiIHg9IjAiIHk9IjAiIHdpZHRoPSIyMDAlIiBo ZWlnaHQ9IjIwMCUiPgorICAgICAgPGZlT2Zmc2V0IHJlc3VsdD0ib2ZmT3V0IiBpbj0iU291cmNl R3JhcGhpYyIgZHg9IjUiIGR5PSI1Ii8+CisgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSJi bHVyT3V0IiBpbj0ib2ZmT3V0IiBzdGREZXZpYXRpb249IjMiLz4KKyAgICAgIDxmZUJsZW5kIGlu PSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCIvPgorICAgIDwvZmls dGVyPgorICA8L2RlZnM+CisgIDxnIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVjYXA9InNx dWFyZSIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CisgICAgPHJlY3QgeD0iMCIgeT0iMCIgd2lk dGg9Ijk3MCIgaGVpZ2h0PSIzNTAiIHN0eWxlPSJmaWxsOiAjZmZmZmZmIi8+CisgICAgPHBhdGgg c3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0i cm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9IiM5OWRkOTkiIGQ9Ik0zODUuMCAx MzMuMCBMOTI1LjAgMTMzLjAgTDkyNS4wIDYzLjAgTDM4NS4wIDYzLjAgeiIvPgorICAgIDxwYXRo IHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9 InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjZmZmZjMzIiBkPSJNMjA1LjAg MTMzLjAgTDIwNS4wIDIwMy4wIEw2NTUuMCAyMDMuMCBMNjU1LjAgMTMzLjAgeiIvPgorICAgIDxw YXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVj YXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjZmZmZjMzIiBkPSJNODQ1 LjAgMjAzLjAgTDg0NS4wIDI3My4wIEw0MjUuMCAyNzMuMCBMNDI1LjAgMjAzLjAgeiIvPgorICAg IDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxp bmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSIjOTlkZDk5IiBkPSJN Mzg1LjAgNjMuMCBMMzg1LjAgMTMzLjAgTDI1LjAgMTMzLjAgTDI1LjAgNjMuMCB6Ii8+CisgICAg PHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGlu ZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0yMDUu MCAyOTQuMCBMMjA1LjAgMzA3LjAgIi8+CisgICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJv a2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9p bj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0zODUuMCAyOTQuMCBMMzg1LjAgMzA3LjAgIi8+Cisg ICAgPHBhdGggc3Ryb2tlPSIjMDAwMDAwIiBzdHJva2Utd2lkdGg9IjEuMDAwMDAwIiBzdHJva2Ut bGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIGQ9Ik0y NS4wIDI5NC4wIEwyNS4wIDMwNy4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ry b2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpv aW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNNTY1LjAgMjk0LjAgTDU2NS4wIDMwNy4wICIvPgor ICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tl LWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJN NzQ1LjAgMjk0LjAgTDc0NS4wIDMwNy4wICIvPgorICAgIDxwYXRoIHN0cm9rZT0iIzAwMDAwMCIg c3Ryb2tlLXdpZHRoPSIxLjAwMDAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGlu ZWpvaW49InJvdW5kIiBmaWxsPSJub25lIiBkPSJNOTI1LjAgMjk0LjAgTDkyNS4wIDMwNy4wICIv PgorICAgIDx0ZXh0IHg9IjQwIiB5PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6 ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3RleHQ+CisgICAg PHRleHQgeD0iNDAiIHk9IjExMCIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUi IHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDUsICQ1LCBbMSBKYW4gMjAyMCwxIEphbiAy MDIyKSk8L3RleHQ+CisgICAgPHRleHQgeD0iMjAwIiB5PSIzMjAiIGZvbnQtZmFtaWx5PSJDb3Vy aWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPjIwMjE8L3Rl eHQ+CisgICAgPHRleHQgeD0iMjIwIiB5PSIxNjYiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250 LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAiPnZhcmlhbnRzPC90ZXh0Pgor ICAgIDx0ZXh0IHg9IjIyMCIgeT0iMTgwIiBmb250LWZhbWlseT0iQ291cmllciIgZm9udC1zaXpl PSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj4oOCwgNSwgJ01lZGl1bScsIFsxIEph biAyMDIxLDEgSnVuIDIwMjMpKTwvdGV4dD4KKyAgICA8dGV4dCB4PSIyMCIgeT0iMzIwIiBmb250 LWZhbWlseT0iQ291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAw MDAwIj4yMDIwPC90ZXh0PgorICAgIDx0ZXh0IHg9IjQ0MCIgeT0iMjM2IiBmb250LWZhbWlseT0i Q291cmllciIgZm9udC1zaXplPSIxNSIgc3Ryb2tlPSJub25lIiBmaWxsPSIjMDAwMDAwIj52YXJp YW50czwvdGV4dD4KKyAgICA8dGV4dCB4PSI0NDAiIHk9IjI1MCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+KDksIDUsICdY WEwnLCBbMSBNYXIgMjAyMiwxIEp1biAyMDI0KSk8L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5 PSI5NiIgZm9udC1mYW1pbHk9IkNvdXJpZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIg ZmlsbD0iIzAwMDAwMCI+cHJvZHVjdHM8L3RleHQ+CisgICAgPHRleHQgeD0iNDAwIiB5PSIxMTAi IGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9 IiMwMDAwMDAiPig1LCAkOCwgWzEgSmFuIDIwMjIsKSk8L3RleHQ+CisgICAgPHRleHQgeD0iNTYw IiB5PSIzMjAiIGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5v bmUiIGZpbGw9IiMwMDAwMDAiPjIwMjM8L3RleHQ+CisgICAgPHRleHQgeD0iMzgwIiB5PSIzMjAi IGZvbnQtZmFtaWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9 IiMwMDAwMDAiPjIwMjI8L3RleHQ+CisgICAgPHRleHQgeD0iOTI5IiB5PSIzMjAiIGZvbnQtZmFt aWx5PSJDb3VyaWVyIiBmb250LXNpemU9IjE1IiBzdHJva2U9Im5vbmUiIGZpbGw9IiMwMDAwMDAi Pi4uLjwvdGV4dD4KKyAgICA8dGV4dCB4PSI3NDAiIHk9IjMyMCIgZm9udC1mYW1pbHk9IkNvdXJp ZXIiIGZvbnQtc2l6ZT0iMTUiIHN0cm9rZT0ibm9uZSIgZmlsbD0iIzAwMDAwMCI+MjAyNDwvdGV4 dD4KKyAgPC9nPgorPC9zdmc+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBv cmFsLXJlZmVyZW5jZXMudHh0IGIvZG9jL3NyYy9zZ21sL2ltYWdlcy90ZW1wb3JhbC1yZWZlcmVu Y2VzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDFjYWQxYmNm OGIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2Mvc3JjL3NnbWwvaW1hZ2VzL3RlbXBvcmFsLXJlZmVy ZW5jZXMudHh0CkBAIC0wLDAgKzEsMjEgQEAKKworCisrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rCit8IGNHUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGNHUkUgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cit8IHByb2R1Y3Rz ICAgICAgICAgICAgICAgICAgICAgICAgICB8IHByb2R1Y3RzICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8Cit8ICg1LCAkNSwgWzEgSmFuIDIwMjAsMSBKYW4gMjAy MikpICB8ICg1LCAkOCwgWzEgSmFuIDIwMjIsKSkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8Cit8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisrLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rCisgICAgICAgICAgICAgICAgICB8IGNZRUwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICB8IHZhcmlhbnRz ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICB8 ICg4LCA1LCAnTWVkaXVtJywgWzEgSmFuIDIwMjEsMSBKdW4gMjAyMykpICB8CisgICAgICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg ICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgY1lFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHZhcmlhbnRzICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAoOSwgNSwgJ1hYTCcsIFsxIE1hciAyMDIyLDEgSnVuIDIwMjQpKSAgfAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisKK3wg ICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwKKzIwMjAgICAgICAgICAgICAgIDIwMjEg ICAgICAgICAgICAgIDIwMjIgICAgICAgICAgICAgIDIwMjMgICAgICAgICAgICAgIDIwMjQgICAg ICAgICAgICAgIC4uLgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwgYi9k b2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbAppbmRleCA1ZDFmNjk3ZmVlOC4uNGM0ZmViYjk0YjQg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dt bC90ZW1wb3JhbC5zZ21sCkBAIC0xNjIsNiArMTYyLDczIEBAIGNvbW1hbmQuCiAgICA8L3BhcmE+ CiAgIDwvc2VjdDI+CiAKKyAgPHNlY3QyIGlkPSJhcHBsaWNhdGlvbi10aW1lLWZvcmVpZ24ta2V5 cyI+CisgICA8dGl0bGU+VGVtcG9yYWwgRm9yZWlnbiBLZXlzPC90aXRsZT4KKworICAgPHBhcmE+ CisgICAgQSB0ZW1wb3JhbCBmb3JlaWduIGtleSBpcyBhIHJlZmVyZW5jZSBmcm9tIG9uZSBhcHBs aWNhdGlvbi10aW1lIAorICAgIHRhYmxlIHRvIGFub3RoZXIgYXBwbGljYXRpb24tdGltZSB0YWJs ZS4gSnVzdCBhcyBhIG5vbi10ZW1wb3JhbCAKKyAgICByZWZlcmVuY2UgcmVxdWlyZXMgYSByZWZl cmVuY2VkIGtleSB0byBleGlzdCwgc28gYSB0ZW1wb3JhbCByZWZlcmVuY2UgCisgICAgcmVxdWly ZXMgYSByZWZlcmVuY2VkIGtleSB0byBleGlzdCwgYnV0IGR1cmluZyB3aGF0ZXZlciBoaXN0b3J5 IHRoZSAKKyAgICByZWZlcmVuY2UgZXhpc3RzLiBTbyBpZiB0aGUgPGxpdGVyYWw+cHJvZHVjdHM8 L2xpdGVyYWw+IHRhYmxlIGlzIAorICAgIHJlZmVyZW5jZWQgYnkgYSA8bGl0ZXJhbD52YXJpYW50 czwvbGl0ZXJhbD4gdGFibGUsIGFuZCBhIHZhcmlhbnQgb2YgCisgICAgcHJvZHVjdCA1IGhhcyBh biBhcHBsaWNhdGlvbi10aW1lIG9mIAorICAgIDxsaXRlcmFsPlsyMDIwLTAxLTAxLDIwMjYtMDEt MDEpPC9saXRlcmFsPiwgdGhlbiBwcm9kdWN0IDUgbXVzdCBleGlzdCAKKyAgICB0aHJvdWdob3V0 IHRoYXQgcGVyaW9kLgorICAgPC9wYXJhPgorCisgICA8ZmlndXJlIGlkPSJ0ZW1wb3JhbC1yZWZl cmVuY2VzLWZpZ3VyZSI+CisgICAgPHRpdGxlPlRlbXBvcmFsIEZvcmVpZ24gS2V5IEV4YW1wbGU8 L3RpdGxlPgorICAgIDxtZWRpYW9iamVjdD4KKyAgICAgPGltYWdlb2JqZWN0PgorICAgICAgPGlt YWdlZGF0YSBmaWxlcmVmPSJpbWFnZXMvdGVtcG9yYWwtcmVmZXJlbmNlcy5zdmciIGZvcm1hdD0i U1ZHIiB3aWR0aD0iMTAwJSIvPgorICAgICA8L2ltYWdlb2JqZWN0PgorICAgIDwvbWVkaWFvYmpl Y3Q+CisgICA8L2ZpZ3VyZT4KKworICAgPHBhcmE+CisgICAgPHhyZWYgbGlua2VuZD0idGVtcG9y YWwtcmVmZXJlbmNlcy1maWd1cmUiLz4gcGxvdHMgcHJvZHVjdCA1IChpbiAKKyAgICBncmVlbikg YW5kIHR3byB2YXJpYW50cyByZWZlcmVuY2luZyBpdCAoaW4geWVsbG93KSBvbiB0aGUgc2FtZSAK KyAgICB0aW1lbGluZS4gRWFjaCB2YXJpYW50IHR1cGxlIGlzIHNob3duIHdpdGggaXRzIGlkLCBh IHByb2R1Y3QgaWQsIGEgCisgICAgbmFtZSwgYW5kIGFuIGFwcGxpY2F0aW9uLXRpbWUuIFNvIHZh cmlhbnQgOCAoTWVkaXVtKSB3YXMgaW50cm9kdWNlZCAKKyAgICBmaXJzdCwgdGhlbiB2YXJpYW50 IDkgKFhYTCkuIEJvdGggc2F0aXNmeSB0aGUgZm9yZWlnbiBrZXkgY29uc3RyYWludCwgCisgICAg YmVjYXVzZSB0aGUgcmVmZXJlbmNlZCBwcm9kdWN0IGV4aXN0cyB0aHJvdWdob3V0IHRoZWlyIGVu dGlyZSBoaXN0b3J5LgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBOb3RlIHRoYXQgYSB0 ZW1wb3JhbCByZWZlcmVuY2UgbmVlZCBub3QgYmUgZnVsZmlsbGVkIGJ5IGEgc2luZ2xlIAorICAg IHJvdyBpbiB0aGUgcmVmZXJlbmNlZCB0YWJsZS4gUHJvZHVjdCA1IGhhZCBhIHByaWNlIGNoYW5n ZSBpbiB0aGUgbWlkZGxlIAorICAgIG9mIHZhcmlhbnQgOCdzIGhpc3RvcnksIGJ1dCB0aGUgcmVm ZXJlbmNlIGlzIHN0aWxsIHZhbGlkLiBUaGUgCisgICAgY29tYmluYXRpb24gb2YgYWxsIG1hdGNo aW5nIHJvd3MgaXMgdXNlZCB0byB0ZXN0IHdoZXRoZXIgdGhlIHJlZmVyZW5jZWQgCisgICAgaGlz dG9yeSBjb250YWlucyB0aGUgcmVmZXJlbmNpbmcgcm93LgorICAgPC9wYXJhPgorCisgICA8cGFy YT4KKyAgICBUaGUgc3ludGF4IHRvIGRlY2xhcmUgYSB0ZW1wb3JhbCBmb3JlaWduIGtleSBpczoK KworPHByb2dyYW1saXN0aW5nPgorQUxURVIgVEFCTEUgdmFyaWFudHMKKyAgQUREIENPTlNUUkFJ TlQgdmFyaWFudHNfaWRfdmFsaWRfYXRfZmtleQorICBGT1JFSUdOIEtFWSAoaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyBwcm9kdWN0cyAoaWQsIFBFUklPRCB2YWxpZF9hdCk7Cis8 L3Byb2dyYW1saXN0aW5nPgorCisgICAgTm90ZSB0aGF0IHRoZSBrZXl3b3JkIDxsaXRlcmFsPlBF UklPRDwvbGl0ZXJhbD4gbXVzdCBiZSB1c2VkIGZvciBhcHBsaWNhdGlvbi10aW1lIGNvbHVtbgor ICAgIGluIGJvdGggdGhlIHJlZmVyZW5jaW5nIGFuZCByZWZlcmVuY2VkIHRhYmxlLgorICAgPC9w YXJhPgorCisgICA8cGFyYT4KKyAgICBBIHRlbXBvcmFsIHByaW1hcnkga2V5IG9yIHVuaXF1ZSBj b25zdHJhaW50IG1hdGNoaW5nIHRoZSByZWZlcmVuY2VkIGNvbHVtbnMKKyAgICBtdXN0IGV4aXN0 IG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlLgorICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICA8 cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+IHN1cHBvcnRzIDxsaXRlcmFsPk5P IEFDVElPTjwvbGl0ZXJhbD4gdGVtcG9yYWwgZm9yZWlnbiBrZXlzLAorICAgIGJ1dCBub3QgPGxp dGVyYWw+UkVTVFJJQ1Q8L2xpdGVyYWw+LCA8bGl0ZXJhbD5DQVNDQURFPC9saXRlcmFsPiwgPGxp dGVyYWw+U0VUIE5VTEw8L2xpdGVyYWw+LAorICAgIG9yIDxsaXRlcmFsPlNFVCBERUZBVUxUPC9s aXRlcmFsPi4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0Mj4KKwogICA8c2VjdDIgaWQ9ImFwcGxpY2F0 aW9uLXRpbWUtdXBkYXRlLWRlbGV0ZSI+CiAgICA8dGl0bGU+VGVtcG9yYWwgVXBkYXRlIGFuZCBE ZWxldGU8L3RpdGxlPgogCi0tIAoyLjM5LjUKCg== --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0010-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Disposition: attachment; filename="v56-0010-Expose-FOR-PORTION-OF-to-plpgsql-triggers.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qp9 RnJvbSAxZWEwN2FjNjNjOWVkMDc2MzJlMmQ1OGQ2MzIwNjNjMWMzYTZkMGFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFR1ZSwgMjkgT2N0IDIwMjQgMTg6NTQ6MzcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAxMC8xMV0gRXhwb3NlIEZPUiBQT1JUSU9OIE9GIHRvIHBscGdzcWwgdHJp Z2dlcnMKCkl0IGlzIGhlbHBmdWwgZm9yIHRyaWdnZXJzIHRvIHNlZSB3aGF0IHRoZSBGT1IgUE9S VElPTiBPRiBjbGF1c2UKc3BlY2lmaWVkOiBib3RoIHRoZSBjb2x1bW4vcGVyaW9kIG5hbWUgYW5k IHRoZSB0YXJnZXRlZCBib3VuZHMuIE91ciBSSQp0cmlnZ2VycyByZXF1aXJlIHRoaXMgaW5mb3Jt YXRpb24sIGFuZCB3ZSBhcmUgcGFzc2luZyBpdCBhcyBwYXJ0IG9mIHRoZQpUcmlnZ2VyRGF0YSBz dHJ1Y3QuIFRoaXMgY29tbWl0IGFsbG93cyBwbHBnc3FsIHRyaWdnZXIgZnVuY3Rpb25zIHRvCmFj Y2VzcyB0aGUgc2FtZSBpbmZvcm1hdGlvbiwgdXNpbmcgdGhlIG5ldyBUR19QRVJJT0RfQ09MVU1O IGFuZApUR19QRVJJT0RfVEFSR0VUIHZhcmlhYmxlcy4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2ly dGggPHBqQGlsbHVtaW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvcGxwZ3Nx bC5zZ21sICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKwogc3JjL3BsL3BscGdzcWwv c3JjL3BsX2NvbXAuYyAgICAgICAgICAgICAgICAgfCAyNiArKysrKysrKysKIHNyYy9wbC9wbHBn c3FsL3NyYy9wbF9leGVjLmMgICAgICAgICAgICAgICAgIHwgMzIgKysrKysrKysrKysrCiBzcmMv cGwvcGxwZ3NxbC9zcmMvcGxwZ3NxbC5oICAgICAgICAgICAgICAgICB8ICAyICsKIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0IHwgNTUgKysrKysrKysrKystLS0t LS0tLS0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCAgICAgIHwgIDkg KysrLQogNiBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3BscGdzcWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9w bHBnc3FsLnNnbWwKaW5kZXggZTkzNzQ5MWU2YjguLmY1MTk5ODcyZTJlIDEwMDY0NAotLS0gYS9k b2Mvc3JjL3NnbWwvcGxwZ3NxbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwK QEAgLTQyNDcsNiArNDI0NywzMCBAQCBBU1NFUlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmNvbmRpdGlvbjwvcmVwbGFjZWFibGU+IDxvcHRpb25hbD4gLCA8cmVwbAogICAgICAgPC9w YXJhPgogICAgICA8L2xpc3RpdGVtPgogICAgIDwvdmFybGlzdGVudHJ5PgorCisgICAgPHZhcmxp c3RlbnRyeSBpZD0icGxwZ3NxbC1kbWwtdHJpZ2dlci10Zy10ZW1wb3JhbC1jb2x1bW4iPgorICAg ICA8dGVybT48dmFybmFtZT5UR19QRVJJT0RfTkFNRTwvdmFybmFtZT4gPHR5cGU+dGV4dDwvdHlw ZT48L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIHRoZSBjb2x1 bW4gbmFtZSB1c2VkIGluIGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVz ZSwKKyAgICAgICBvciBlbHNlIDxzeW1ib2w+TlVMTDwvc3ltYm9sPi4KKyAgICAgIDwvcGFyYT4K KyAgICAgPC9saXN0aXRlbT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgIDx2YXJsaXN0ZW50 cnkgaWQ9InBscGdzcWwtZG1sLXRyaWdnZXItdGctdGVtcG9yYWwtdGFyZ2V0Ij4KKyAgICAgPHRl cm0+PHZhcm5hbWU+VEdfUEVSSU9EX0JPVU5EUzwvdmFybmFtZT4gPHR5cGU+dGV4dDwvdHlwZT48 L3Rlcm0+CisgICAgIDxsaXN0aXRlbT4KKyAgICAgIDxwYXJhPgorICAgICAgIHRoZSByYW5nZS9t dWx0aXJhbmdlL2V0Yy4gZ2l2ZW4gYXMgdGhlIGJvdW5kcyBvZiBhCisgICAgICAgPGxpdGVyYWw+ Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVzZSwgZWl0aGVyIGRpcmVjdGx5ICh3aXRoIHBh cmVucyBzeW50YXgpCisgICAgICAgb3IgY29tcHV0ZWQgZnJvbSB0aGUgPGxpdGVyYWw+RlJPTTwv bGl0ZXJhbD4gYW5kIDxsaXRlcmFsPlRPPC9saXRlcmFsPiBib3VuZHMuCisgICAgICAgPHN5bWJv bD5OVUxMPC9zeW1ib2w+IGlmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3YXMg bm90IHVzZWQuCisgICAgICAgVGhpcyBpcyBhIHRleHQgdmFsdWUgYmFzZWQgb24gdGhlIHR5cGUn cyBvdXRwdXQgZnVuY3Rpb24sCisgICAgICAgc2luY2UgdGhlIHR5cGUgY2FuJ3QgYmUga25vd24g YXQgZnVuY3Rpb24gY3JlYXRpb24gdGltZS4KKyAgICAgIDwvcGFyYT4KKyAgICAgPC9saXN0aXRl bT4KKyAgICA8L3Zhcmxpc3RlbnRyeT4KICAgIDwvdmFyaWFibGVsaXN0PgogICA8L3BhcmE+CiAK ZGlmZiAtLWdpdCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9jb21wLmMgYi9zcmMvcGwvcGxwZ3Nx bC9zcmMvcGxfY29tcC5jCmluZGV4IGY2OTc2Njg5YTY5Li41OTc3NjM1OGE2NSAxMDA2NDQKLS0t IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2NvbXAuYworKysgYi9zcmMvcGwvcGxwZ3NxbC9zcmMv cGxfY29tcC5jCkBAIC02MTcsNiArNjE3LDMyIEBAIHBscGdzcWxfY29tcGlsZV9jYWxsYmFjayhG dW5jdGlvbkNhbGxJbmZvIGZjaW5mbywKIAkJCXZhci0+ZHR5cGUgPSBQTFBHU1FMX0RUWVBFX1BS T01JU0U7CiAJCQkoKFBMcGdTUUxfdmFyICopIHZhciktPnByb21pc2UgPSBQTFBHU1FMX1BST01J U0VfVEdfQVJHVjsKIAorCQkJLyogQWRkIHRoZSB2YXJpYWJsZSB0Z19wZXJpb2RfbmFtZSAqLwor CQkJdmFyID0gcGxwZ3NxbF9idWlsZF92YXJpYWJsZSgidGdfcGVyaW9kX25hbWUiLCAwLAorCQkJ CQkJCQkJCSBwbHBnc3FsX2J1aWxkX2RhdGF0eXBlKFRFWFRPSUQsCisJCQkJCQkJCQkJCQkJCQkJ LTEsCisJCQkJCQkJCQkJCQkJCQkJZnVuY3Rpb24tPmZuX2lucHV0X2NvbGxhdGlvbiwKKwkJCQkJ CQkJCQkJCQkJCQlOVUxMKSwKKwkJCQkJCQkJCQkgdHJ1ZSk7CisJCQlBc3NlcnQodmFyLT5kdHlw ZSA9PSBQTFBHU1FMX0RUWVBFX1ZBUik7CisJCQl2YXItPmR0eXBlID0gUExQR1NRTF9EVFlQRV9Q Uk9NSVNFOworCQkJKChQTHBnU1FMX3ZhciAqKSB2YXIpLT5wcm9taXNlID0gUExQR1NRTF9QUk9N SVNFX1RHX1BFUklPRF9OQU1FOworCisJCQkvKgorCQkJICogQWRkIHRoZSB2YXJpYWJsZSB0byB0 Z19wZXJpb2RfYm91bmRzLiBUaGlzIGNvdWxkIGJlIGFueQorCQkJICogcmFuZ2V0eXBlIG9yIG11 bHRpcmFuZ2V0eXBlIG9yIHVzZXItc3VwcGxpZWQgdHlwZSwgc28gdGhlIGJlc3QKKwkJCSAqIHdl IGNhbiBvZmZlciBpcyBhIFRFWFQgdmFyaWFibGUuCisJCQkgKi8KKwkJCXZhciA9IHBscGdzcWxf YnVpbGRfdmFyaWFibGUoInRnX3BlcmlvZF9ib3VuZHMiLCAwLAorCQkJCQkJCQkJCSBwbHBnc3Fs X2J1aWxkX2RhdGF0eXBlKFRFWFRPSUQsCisJCQkJCQkJCQkJCQkJCQkJLTEsCisJCQkJCQkJCQkJ CQkJCQkJZnVuY3Rpb24tPmZuX2lucHV0X2NvbGxhdGlvbiwKKwkJCQkJCQkJCQkJCQkJCQlOVUxM KSwKKwkJCQkJCQkJCQkgdHJ1ZSk7CisJCQlBc3NlcnQodmFyLT5kdHlwZSA9PSBQTFBHU1FMX0RU WVBFX1ZBUik7CisJCQl2YXItPmR0eXBlID0gUExQR1NRTF9EVFlQRV9QUk9NSVNFOworCQkJKChQ THBnU1FMX3ZhciAqKSB2YXIpLT5wcm9taXNlID0gUExQR1NRTF9QUk9NSVNFX1RHX1BFUklPRF9C T1VORFM7CisKIAkJCWJyZWFrOwogCiAJCWNhc2UgUExQR1NRTF9FVkVOVF9UUklHR0VSOgpkaWZm IC0tZ2l0IGEvc3JjL3BsL3BscGdzcWwvc3JjL3BsX2V4ZWMuYyBiL3NyYy9wbC9wbHBnc3FsL3Ny Yy9wbF9leGVjLmMKaW5kZXggZDE5NDI1YjdhNzEuLjExZWI1YTYwYTc5IDEwMDY0NAotLS0gYS9z cmMvcGwvcGxwZ3NxbC9zcmMvcGxfZXhlYy5jCisrKyBiL3NyYy9wbC9wbHBnc3FsL3NyYy9wbF9l eGVjLmMKQEAgLTEzODUsNiArMTM4NSw3IEBAIHBscGdzcWxfZnVsZmlsbF9wcm9taXNlKFBMcGdT UUxfZXhlY3N0YXRlICplc3RhdGUsCiAJCQkJCQlQTHBnU1FMX3ZhciAqdmFyKQogewogCU1lbW9y eUNvbnRleHQgb2xkY29udGV4dDsKKwlGb3JQb3J0aW9uT2ZTdGF0ZSAqZnBvOwogCiAJaWYgKHZh ci0+cHJvbWlzZSA9PSBQTFBHU1FMX1BST01JU0VfTk9ORSkKIAkJcmV0dXJuOwkJCQkJLyogbm90 aGluZyB0byBkbyAqLwpAQCAtMTUxNiw2ICsxNTE3LDM3IEBAIHBscGdzcWxfZnVsZmlsbF9wcm9t aXNlKFBMcGdTUUxfZXhlY3N0YXRlICplc3RhdGUsCiAJCQl9CiAJCQlicmVhazsKIAorCQljYXNl IFBMUEdTUUxfUFJPTUlTRV9UR19QRVJJT0RfTkFNRToKKwkJCWlmIChlc3RhdGUtPnRyaWdkYXRh ID09IE5VTEwpCisJCQkJZWxvZyhFUlJPUiwgInRyaWdnZXIgcHJvbWlzZSBpcyBub3QgaW4gYSB0 cmlnZ2VyIGZ1bmN0aW9uIik7CisJCQlpZiAoZXN0YXRlLT50cmlnZGF0YS0+dGdfdGVtcG9yYWwp CisJCQkJYXNzaWduX3RleHRfdmFyKGVzdGF0ZSwgdmFyLCBlc3RhdGUtPnRyaWdkYXRhLT50Z190 ZW1wb3JhbC0+ZnBfcmFuZ2VOYW1lKTsKKwkJCWVsc2UKKwkJCQlhc3NpZ25fc2ltcGxlX3Zhcihl c3RhdGUsIHZhciwgKERhdHVtKSAwLCB0cnVlLCBmYWxzZSk7CisJCQlicmVhazsKKworCQljYXNl IFBMUEdTUUxfUFJPTUlTRV9UR19QRVJJT0RfQk9VTkRTOgorCQkJZnBvID0gZXN0YXRlLT50cmln ZGF0YS0+dGdfdGVtcG9yYWw7CisKKwkJCWlmIChlc3RhdGUtPnRyaWdkYXRhID09IE5VTEwpCisJ CQkJZWxvZyhFUlJPUiwgInRyaWdnZXIgcHJvbWlzZSBpcyBub3QgaW4gYSB0cmlnZ2VyIGZ1bmN0 aW9uIik7CisJCQlpZiAoZnBvKQorCQkJeworCisJCQkJT2lkCQkJZnVuY2lkOworCQkJCWJvb2wJ CXZhcmxlbmE7CisKKwkJCQlnZXRUeXBlT3V0cHV0SW5mbyhmcG8tPmZwX3JhbmdlVHlwZSwgJmZ1 bmNpZCwgJnZhcmxlbmEpOworCQkJCUFzc2VydChPaWRJc1ZhbGlkKGZ1bmNpZCkpOworCisJCQkJ YXNzaWduX3RleHRfdmFyKGVzdGF0ZSwgdmFyLAorCQkJCQkJCQlPaWRPdXRwdXRGdW5jdGlvbkNh bGwoZnVuY2lkLAorCQkJCQkJCQkJCQkJCSAgZnBvLT5mcF90YXJnZXRSYW5nZSkpOworCQkJfQor CQkJZWxzZQorCQkJCWFzc2lnbl9zaW1wbGVfdmFyKGVzdGF0ZSwgdmFyLCAoRGF0dW0pIDAsIHRy dWUsIGZhbHNlKTsKKwkJCWJyZWFrOworCiAJCWNhc2UgUExQR1NRTF9QUk9NSVNFX1RHX0VWRU5U OgogCQkJaWYgKGVzdGF0ZS0+ZXZ0cmlnZGF0YSA9PSBOVUxMKQogCQkJCWVsb2coRVJST1IsICJl dmVudCB0cmlnZ2VyIHByb21pc2UgaXMgbm90IGluIGFuIGV2ZW50IHRyaWdnZXIgZnVuY3Rpb24i KTsKZGlmZiAtLWdpdCBhL3NyYy9wbC9wbHBnc3FsL3NyYy9wbHBnc3FsLmggYi9zcmMvcGwvcGxw Z3NxbC9zcmMvcGxwZ3NxbC5oCmluZGV4IDVmMTkzYTM3MTgzLi44MDAwMTA0YmM4OSAxMDA2NDQK LS0tIGEvc3JjL3BsL3BscGdzcWwvc3JjL3BscGdzcWwuaAorKysgYi9zcmMvcGwvcGxwZ3NxbC9z cmMvcGxwZ3NxbC5oCkBAIC04NSw2ICs4NSw4IEBAIHR5cGVkZWYgZW51bSBQTHBnU1FMX3Byb21p c2VfdHlwZQogCVBMUEdTUUxfUFJPTUlTRV9UR19BUkdWLAogCVBMUEdTUUxfUFJPTUlTRV9UR19F VkVOVCwKIAlQTFBHU1FMX1BST01JU0VfVEdfVEFHLAorCVBMUEdTUUxfUFJPTUlTRV9UR19QRVJJ T0RfTkFNRSwKKwlQTFBHU1FMX1BST01JU0VfVEdfUEVSSU9EX0JPVU5EUywKIH0gUExwZ1NRTF9w cm9taXNlX3R5cGU7CiAKIC8qCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2Zvcl9wb3J0aW9uX29mLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRp b25fb2Yub3V0CmluZGV4IDkyODhiNDIyNGY3Li41MmZiMDQ0ZDJlNSAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQKQEAgLTYxMyw4ICs2MTMsMTMgQEAg Q1JFQVRFIEZVTkNUSU9OIGR1bXBfdHJpZ2dlcigpCiBSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0Ug cGxwZ3NxbCBBUwogJCQKIEJFR0lOCi0gIFJBSVNFIE5PVElDRSAnJTogJSAlICU6JywKLSAgICBU R19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfTEVWRUw7CisgIElGIFRHX1BFUklPRF9OQU1FIElT IE5PVCBOVUxMIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSBGT1IgUE9SVElPTiBPRiAl ICglKSAlOicsCisgICAgICBUR19OQU1FLCBUR19XSEVOLCBUR19PUCwgVEdfUEVSSU9EX05BTUUs IFRHX1BFUklPRF9CT1VORFMsIFRHX0xFVkVMOworICBFTFNFCisgICAgUkFJU0UgTk9USUNFICcl OiAlICUgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworICBF TkQgSUY7CiAKICAgSUYgVEdfQVJHVlswXSBUSEVOCiAgICAgUkFJU0UgTk9USUNFICcgIG9sZDog JScsIChTRUxFQ1Qgc3RyaW5nX2FnZyhvbGRfdGFibGU6OnRleHQsICdcbiAgICAgICAnKSBGUk9N IG9sZF90YWJsZSk7CkBAIC02NjQsMTAgKzY2OSwxMCBAQCBVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAy Mi0wMS0wMScKICAgU0VUIG5hbWUgPSAnZml2ZV4zJwogICBXSEVSRSBpZCA9ICdbNSw2KSc7Ci1O T1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNF OiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxO VUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJF Rk9SRSBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDIxLTAxLTAxLDIwMjItMDEtMDEpKSBST1c6CiBO T1RJQ0U6ICAgIG9sZDogWzIwMTktMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogICAgbmV3OiBb MjAyMS0wMS0wMSwyMDIyLTAxLTAxKQogTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUg SU5TRVJUIFNUQVRFTUVOVDoKQEAgLTY5NCwxOSArNjk5LDE5IEBAIE5PVElDRTogICAgbmV3OiBb MjAyMi0wMS0wMSwyMDMwLTAxLTAxKQogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBB RlRFUiBJTlNFUlQgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAg ICBuZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFU RSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3JvdzogQUZURVIgVVBEQVRFIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkgUk9XOgogTk9USUNF OiAgICBvbGQ6IFsyMDE5LTAxLTAxLDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogWzIwMjEt MDEtMDEsMjAyMi0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDogQUZURVIg VVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVfc3RtdDogQUZURVIg VVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMS0wMS0wMSwyMDIyLTAxLTAxKSkg U1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxM PgogREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAogICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDIzLTAxLTAxJyBUTyAnMjAyNC0wMS0wMScKICAgV0hFUkUgaWQgPSAnWzUs NiknOwotTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgREVMRVRFIFNUQVRFTUVOVDoK K05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIERFTEVURSBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoWzIwMjMtMDEtMDEsMjAyNC0wMS0wMSkpIFNUQVRFTUVOVDoKIE5PVElDRTogICAg b2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5PVElDRTogIGZwb19iZWZvcmVf cm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUg REVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAyMy0wMS0wMSwyMDI0LTAxLTAxKSkg Uk9XOgogTk9USUNFOiAgICBvbGQ6IFsyMDIyLTAxLTAxLDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICAg IG5ldzogPE5VTEw+CiBOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RB VEVNRU5UOgpAQCAtNzMzLDEwICs3MzgsMTAgQEAgTk9USUNFOiAgICBuZXc6IFsyMDI0LTAxLTAx LDIwMzAtMDEtMDEpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VS VCBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogPE5V TEw+Ci1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05P VElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKFsyMDIzLTAxLTAxLDIwMjQtMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDog WzIwMjItMDEtMDEsMjAzMC0wMS0wMSkKIE5PVElDRTogICAgbmV3OiA8TlVMTD4KLU5PVElDRTog IGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05PVElDRTog IGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IChbMjAyMy0wMS0wMSwyMDI0LTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6 IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgogU0VMRUNUICogRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKQEAgLTgwMiwxMCArODA3LDEwIEBAIEJF R0lOOwogVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCiAgIFNFVCBuYW1lID0gJzIwMTgt MDEtMTVfdG9fMjAxOS0wMS0wMSc7Ci1OT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBV UERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRF IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKSkgU1RBVEVN RU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6IDxOVUxMPgotTk9U SUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2Jl Zm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKFsyMDE4LTAx LTE1LDIwMTktMDEtMDEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0w MS0wMSkKIE5PVElDRTogICAgbmV3OiBbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKQogTk9USUNFOiAg ZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKQEAgLTgzMiwyMCArODM3 LDIwIEBAIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTktMDEtMDEsMjAyMC0wMS0wMSki LG9uZSkKIE5PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRF TUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwi WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVf cm93OiBBRlRFUiBVUERBVEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFG VEVSIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoWzIwMTgtMDEtMTUsMjAxOS0wMS0w MSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSkiLG9uZSkKIE5PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMTUsMjAxOS0wMS0w MSkiLDIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl91cGRhdGVf c3RtdDogQUZURVIgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZwb19hZnRlcl91cGRhdGVf c3RtdDogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwy MDE5LTAxLTAxKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKSIsb25lKQogTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0w MS0xNSwyMDE5LTAxLTAxKSIsMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxKQogUk9MTEJBQ0s7CiBC RUdJTjsKIERFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAxLTIxJzsKLU5PVElDRTogIGZwb19iZWZvcmVf c3RtdDogQkVGT1JFIERFTEVURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6 IEJFRk9SRSBERUxFVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKCgsMjAxOC0wMS0yMSkpIFNU QVRFTUVOVDoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElDRTogICAgbmV3OiA8TlVMTD4K LU5PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogIGZw b19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIw MTgtMDEtMjEpKSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkK IE5PVElDRTogICAgbmV3OiA8TlVMTD4KIE5PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JF IElOU0VSVCBTVEFURU1FTlQ6CkBAIC04NjAsMTAgKzg2NSwxMCBAQCBOT1RJQ0U6ICAgIG5ldzog KCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6ICBmcG9fYWZ0 ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDog PE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEp IixvbmUpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoK K05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKCgsMjAxOC0wMS0yMSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiAoIlsxLDIp IiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKIE5PVElDRTogICAgbmV3OiA8TlVMTD4K LU5PVElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoK K05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfc3RtdDogQUZURVIgREVMRVRFIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEtMjEpKSBTVEFURU1FTlQ6CiBOT1RJQ0U6ICAgIG9sZDog KCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCiBOT1RJQ0U6ICAgIG5ldzog PE5VTEw+CiBST0xMQkFDSzsKQEAgLTg3MSwxMCArODc2LDEwIEBAIEJFR0lOOwogVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QKICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRP ICcyMDE4LTAxLTAyJwogICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEnOwotTk9USUNF OiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTogIGZw b19iZWZvcmVfc3RtdDogQkVGT1JFIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwy MDE4LTAxLTAyKSkgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAg ICBuZXc6IDxOVUxMPgotTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9X OgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgKCgsMjAxOC0wMS0wMikpIFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAxOC0wMS0w MSwyMDIwLTAxLTAxKQogTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpCiBO T1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgpAQCAtODg5 LDEwICs4OTQsMTAgQEAgTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMiwyMDIw LTAxLTAxKSIsb25lKQogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNF UlQgU1RBVEVNRU5UOgogTk9USUNFOiAgICBvbGQ6IDxOVUxMPgogTk9USUNFOiAgICBuZXc6ICgi WzEsMikiLCJbMjAxOC0wMS0wMiwyMDIwLTAxLTAxKSIsb25lKQotTk9USUNFOiAgZnBvX2FmdGVy X3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRl X3JvdzogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0ICgoLDIwMTgtMDEtMDIp KSBST1c6CiBOT1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEp IixvbmUpCiBOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMDIp IixOVUxMX3RvXzIwMTgtMDEtMDEpCi1OT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFG VEVSIFVQREFURSBTVEFURU1FTlQ6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFG VEVSIFVQREFURSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTAyKSkgU1RBVEVN RU5UOgogTk9USUNFOiAgICBvbGQ6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSIs b25lKQogTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKSIs TlVMTF90b18yMDE4LTAxLTAxKQogUk9MTEJBQ0s7CkBAIC05MjksNyArOTM0LDcgQEAgTk9USUNF OiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCiBOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5z ZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKIE5PVElDRTogICAgb2xkOiA8TlVMTD4KIE5PVElD RTogICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKQotTk9USUNFOiAgZnBvX2FmdGVyX3Vw ZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3Jv dzogQUZURVIgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChbMjAxOC0wMS0xNSwyMDE5 LTAxLTAxKSkgUk9XOgogTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCiBO T1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKIEJFR0lOOwpAQCAtOTM5LDEw ICs5NDQsMTAgQEAgQ09NTUlUOwogTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9yb3c6IEFGVEVS IElOU0VSVCBST1c6CiBOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CiBOT1RJQ0U6ICAgIG5ldzogWzIw MTgtMDEtMjEsMjAxOS0wMS0wMSkKLU5PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRF UiBERUxFVEUgUk9XOgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVU RSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoKCwyMDE4LTAxLTIxKSkgUk9XOgogTk9USUNFOiAg ICBvbGQ6IFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpCiBOT1RJQ0U6ICAgIG5ldzogPE5VTEw+Ci1O T1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElDRTog IGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxFVEUgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgKCgsMjAxOC0wMS0yMSkpIFJPVzoKIE5PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwyMDE4 LTAxLTE1KQogTk9USUNFOiAgICBuZXc6IDxOVUxMPgogQkVHSU47CmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3Nx bC9mb3JfcG9ydGlvbl9vZi5zcWwKaW5kZXggMGU2YzJkYjVhNzUuLjc0OTNjYzRjMjMzIDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsCkBAIC00ODQsOCArNDg0LDEzIEBA IENSRUFURSBGVU5DVElPTiBkdW1wX3RyaWdnZXIoKQogUkVUVVJOUyBUUklHR0VSIExBTkdVQUdF IHBscGdzcWwgQVMKICQkCiBCRUdJTgotICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAlOicsCi0gICAg VEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworICBJRiBUR19QRVJJT0RfTkFNRSBJ UyBOT1QgTlVMTCBUSEVOCisgICAgUkFJU0UgTk9USUNFICclOiAlICUgRk9SIFBPUlRJT04gT0Yg JSAoJSkgJTonLAorICAgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX1BFUklPRF9OQU1F LCBUR19QRVJJT0RfQk9VTkRTLCBUR19MRVZFTDsKKyAgRUxTRQorICAgIFJBSVNFIE5PVElDRSAn JTogJSAlICU6JywKKyAgICAgIFRHX05BTUUsIFRHX1dIRU4sIFRHX09QLCBUR19MRVZFTDsKKyAg RU5EIElGOwogCiAgIElGIFRHX0FSR1ZbMF0gVEhFTgogICAgIFJBSVNFIE5PVElDRSAnICBvbGQ6 ICUnLCAoU0VMRUNUIHN0cmluZ19hZ2cob2xkX3RhYmxlOjp0ZXh0LCAnXG4gICAgICAgJykgRlJP TSBvbGRfdGFibGUpOwotLSAKMi4zOS41Cgo= --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0006-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Disposition: attachment; filename="v56-0006-Add-UPDATE-DELETE-FOR-PORTION-OF.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qi5 RnJvbSA4Y2ZmNmE3NGUxNjgyZTk1NjY1MzkzZjEwNmRjYmFkNDk5ZDI0YTNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMjUgSnVuIDIwMjEgMTg6NTQ6MzUgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAwNi8xMV0gQWRkIFVQREFURS9ERUxFVEUgRk9SIFBPUlRJT04gT0YKCi0g QWRkZWQgYmlzb24gc3VwcG9ydCBmb3IgRk9SIFBPUlRJT04gT0Ygc3ludGF4LiBUaGUgYm91bmRz IG11c3QgYmUKICBjb25zdGFudCwgc28gd2UgZm9yYmlkIGNvbHVtbiByZWZlcmVuY2VzLCBzdWJx dWVyaWVzLCBldGMuIFdlIGRvCiAgYWNjZXB0IGZ1bmN0aW9ucyBsaWtlIE5PVygpLgotIEFkZGVk IGxvZ2ljIHRvIGV4ZWN1dG9yIHRvIGluc2VydCBuZXcgcm93cyBmb3IgdGhlICJ0ZW1wb3JhbCBs ZWZ0b3ZlciIKICBwYXJ0IG9mIGEgcmVjb3JkIHRvdWNoZWQgYnkgYSBGT1IgUE9SVElPTiBPRiBx dWVyeS4KLSBEb2N1bWVudGVkIEZPUiBQT1JUSU9OIE9GLgotIEFkZGVkIHRlc3RzLgoKQXV0aG9y OiBQYXVsIEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIC4u Li9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQvcG9zdGdyZXNfZmR3Lm91dCAgICB8ICAgNDUgKy0KIGNv bnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsICAgICB8ICAgMzQgKwogZG9j L3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbCAgICAgIHwgICAgNiArCiBkb2Mv c3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgIDk2ICstCiBkb2Mv c3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sICAgICAgICAgICAgICAgICAgfCAgIDk4ICstCiBkb2Mv c3JjL3NnbWwvdHJpZ2dlci5zZ21sICAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsKIHNyYy9i YWNrZW5kL2V4ZWN1dG9yL2V4ZWNNYWluLmMgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2Jh Y2tlbmQvZXhlY3V0b3Ivbm9kZU1vZGlmeVRhYmxlLmMgICAgICAgIHwgIDMzMSArKysrLQogc3Jj L2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMgICAgICAgICAgICAgICAgIHwgICAyNCArCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9jcmVhdGVwbGFuLmMgICAgICAgfCAgICA2ICstCiBzcmMv YmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9wbGFubmVyLmMgICAgICAgICAgfCAgICAxICsKIHNyYy9i YWNrZW5kL29wdGltaXplci91dGlsL3BhdGhub2RlLmMgICAgICAgICB8ICAgIDMgKy0KIHNyYy9i YWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAgICAgICAgICAgICB8ICAyNDkgKysrLQogc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgICAgICAgICAgICAgIHwgIDEwMCArLQogc3Jj L2JhY2tlbmQvcGFyc2VyL3BhcnNlX2FnZy5jICAgICAgICAgICAgICAgIHwgICAxMCArCiBzcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jICAgICAgICAgICAgfCAgICAxICsKIHNyYy9i YWNrZW5kL3BhcnNlci9wYXJzZV9leHByLmMgICAgICAgICAgICAgICB8ICAgIDggKwogc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYyAgICAgICAgICAgICAgIHwgICAgMyArCiBzcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYyAgICAgICAgICAgICAgfCAgICAyICstCiBzcmMvYmFj a2VuZC9yZXdyaXRlL3Jld3JpdGVIYW5kbGVyLmMgICAgICAgICAgfCAgIDQzICsKIHNyYy9iYWNr ZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9iYWNr ZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jICAgICAgICAgICB8ICAgMjcgKwogc3JjL2luY2x1 ZGUvbm9kZXMvZXhlY25vZGVzLmggICAgICAgICAgICAgICAgIHwgICAyMiArCiBzcmMvaW5jbHVk ZS9ub2Rlcy9wYXJzZW5vZGVzLmggICAgICAgICAgICAgICAgfCAgIDIwICsKIHNyYy9pbmNsdWRl L25vZGVzL3BhdGhub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUv bm9kZXMvcGxhbm5vZGVzLmggICAgICAgICAgICAgICAgIHwgICAgMiArCiBzcmMvaW5jbHVkZS9u b2Rlcy9wcmltbm9kZXMuaCAgICAgICAgICAgICAgICAgfCAgIDI3ICsKIHNyYy9pbmNsdWRlL29w dGltaXplci9wYXRobm9kZS5oICAgICAgICAgICAgICB8ICAgIDIgKy0KIHNyYy9pbmNsdWRlL3Bh cnNlci9hbmFseXplLmggICAgICAgICAgICAgICAgICB8ICAgIDMgKy0KIHNyYy9pbmNsdWRlL3Bh cnNlci9rd2xpc3QuaCAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwogc3JjL2luY2x1ZGUvcGFy c2VyL3BhcnNlX25vZGUuaCAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMvaW5jbHVkZS91dGls cy9sc3lzY2FjaGUuaCAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0ICB8IDEyNDggKysrKysrKysrKysrKysrKysKIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgICAgICB8ICAgMTggKwogc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0IHwgICAzMiArCiAuLi4v cmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dCAgICAgfCAgMjQ1ICsrKy0KIHNy Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgICAgICAgICB8ICAgIDIgKy0KIHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbCAgICAgICB8ICA5MDUgKysrKysr KysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbCAgICAgICAgICAgfCAg IDE4ICsKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0YWJsZV92aWV3cy5zcWwgICAgICB8ICAg MTQgKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgICAgIHwgIDEy MCArLQogc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFsLnBsICAgICAgIHwgIDEx MCArLQogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICAgIHwgICAg NCArCiA0MyBmaWxlcyBjaGFuZ2VkLCAzODA2IGluc2VydGlvbnMoKyksIDg5IGRlbGV0aW9ucygt KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRp b25fb2Yub3V0CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yX3Bv cnRpb25fb2Yuc3FsCgpkaWZmIC0tZ2l0IGEvY29udHJpYi9wb3N0Z3Jlc19mZHcvZXhwZWN0ZWQv cG9zdGdyZXNfZmR3Lm91dCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVz X2Zkdy5vdXQKaW5kZXggOTFiYmQwZDhjNzMuLjM4YTJlYjhkNmMyIDEwMDY0NAotLS0gYS9jb250 cmliL3Bvc3RncmVzX2Zkdy9leHBlY3RlZC9wb3N0Z3Jlc19mZHcub3V0CisrKyBiL2NvbnRyaWIv cG9zdGdyZXNfZmR3L2V4cGVjdGVkL3Bvc3RncmVzX2Zkdy5vdXQKQEAgLTUwLDExICs1MCwxOSBA QCBDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNCIgKAogCWMzIHRleHQsCiAJQ09OU1RSQUlOVCB0NF9w a2V5IFBSSU1BUlkgS0VZIChjMSkKICk7CitDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNSIgKAorCWMx IGludDRyYW5nZSBOT1QgTlVMTCwKKwljMiBpbnQgTk9UIE5VTEwsCisJYzMgdGV4dCwKKwljNCBk YXRlcmFuZ2UgTk9UIE5VTEwsCisJQ09OU1RSQUlOVCB0NV9wa2V5IFBSSU1BUlkgS0VZIChjMSwg YzQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CiAtLSBEaXNhYmxlIGF1dG92YWN1dW0gZm9yIHRoZXNl IHRhYmxlcyB0byBhdm9pZCB1bmV4cGVjdGVkIGVmZmVjdHMgb2YgdGhhdAogQUxURVIgVEFCTEUg IlMgMSIuIlQgMSIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVSIFRB QkxFICJTIDEiLiJUIDIiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBBTFRF UiBUQUJMRSAiUyAxIi4iVCAzIiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwog QUxURVIgVEFCTEUgIlMgMSIuIlQgNCIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2Un KTsKK0FMVEVSIFRBQkxFICJTIDEiLiJUIDUiIFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2Zh bHNlJyk7CiBJTlNFUlQgSU5UTyAiUyAxIi4iVCAxIgogCVNFTEVDVCBpZCwKIAkgICAgICAgaWQg JSAxMCwKQEAgLTgxLDEwICs4OSwxNyBAQCBJTlNFUlQgSU5UTyAiUyAxIi4iVCA0IgogCSAgICAg ICAnQUFBJyB8fCB0b19jaGFyKGlkLCAnRk0wMDAnKQogCUZST00gZ2VuZXJhdGVfc2VyaWVzKDEs IDEwMCkgaWQ7CiBERUxFVEUgRlJPTSAiUyAxIi4iVCA0IiBXSEVSRSBjMSAlIDMgIT0gMDsJLS0g ZGVsZXRlIGZvciBvdXRlciBqb2luIHRlc3RzCitJTlNFUlQgSU5UTyAiUyAxIi4iVCA1IgorCVNF TEVDVCBpbnQ0cmFuZ2UoaWQsIGlkICsgMSksCisJICAgICAgIGlkICsgMSwKKwkgICAgICAgJ0FB QScgfHwgdG9fY2hhcihpZCwgJ0ZNMDAwJyksCisgICAgICAgICdbMjAwMC0wMS0wMSwyMDIwLTAx LTAxKScKKwlGUk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDApIGlkOwogQU5BTFlaRSAiUyAxIi4i VCAxIjsKIEFOQUxZWkUgIlMgMSIuIlQgMiI7CiBBTkFMWVpFICJTIDEiLiJUIDMiOwogQU5BTFla RSAiUyAxIi4iVCA0IjsKK0FOQUxZWkUgIlMgMSIuIlQgNSI7CiAtLSA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLSBj cmVhdGUgZm9yZWlnbiB0YWJsZXMKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQEAgLTEzMiw2ICsxNDcsMTIgQEAg Q1JFQVRFIEZPUkVJR04gVEFCTEUgZnQ3ICgKIAljMiBpbnQgTk9UIE5VTEwsCiAJYzMgdGV4dAog KSBTRVJWRVIgbG9vcGJhY2szIE9QVElPTlMgKHNjaGVtYV9uYW1lICdTIDEnLCB0YWJsZV9uYW1l ICdUIDQnKTsKK0NSRUFURSBGT1JFSUdOIFRBQkxFIGZ0OCAoCisJYzEgaW50NHJhbmdlIE5PVCBO VUxMLAorCWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRhdGVyYW5nZSBOT1QgTlVM TAorKSBTRVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25h bWUgJ1QgNScpOwogLS0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0gdGVzdHMgZm9yIHZhbGlkYXRvcgogLS0gPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQpAQCAtMjE0LDcgKzIzNSw4IEBAIEFMVEVSIEZPUkVJR04gVEFCTEUgZnQyIEFMVEVS IENPTFVNTiBjMSBPUFRJT05TIChjb2x1bW5fbmFtZSAnQyAxJyk7CiAgcHVibGljIHwgZnQ1ICAg fCBsb29wYmFjayAgfCAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUgJ1QgNCcpIHwgCiAg cHVibGljIHwgZnQ2ICAgfCBsb29wYmFjazIgfCAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25h bWUgJ1QgNCcpIHwgCiAgcHVibGljIHwgZnQ3ICAgfCBsb29wYmFjazMgfCAoc2NoZW1hX25hbWUg J1MgMScsIHRhYmxlX25hbWUgJ1QgNCcpIHwgCi0oNiByb3dzKQorIHB1YmxpYyB8IGZ0OCAgIHwg bG9vcGJhY2sgIHwgKHNjaGVtYV9uYW1lICdTIDEnLCB0YWJsZV9uYW1lICdUIDUnKSB8IAorKDcg cm93cykKIAogLS0gVGVzdCB0aGF0IGFsdGVyYXRpb24gb2Ygc2VydmVyIG9wdGlvbnMgY2F1c2Vz IHJlY29ubmVjdGlvbgogLS0gUmVtb3RlJ3MgZXJyb3JzIG1pZ2h0IGJlIG5vbi1FbmdsaXNoLCBz byBoaWRlIHRoZW0gdG8gZW5zdXJlIHN0YWJsZSByZXN1bHRzCkBAIC02MzAzLDYgKzYzMjUsMjcg QEAgREVMRVRFIEZST00gZnQyIFdIRVJFIGMxID0gMTIwMCBSRVRVUk5JTkcgdGFibGVvaWQ6OnJl Z2NsYXNzOwogIGZ0MgogKDEgcm93KQogCistLSBUZXN0IFVQREFURSBGT1IgUE9SVElPTiBPRgor VVBEQVRFIGZ0OCBGT1IgUE9SVElPTiBPRiBjNCBGUk9NICcyMDA1LTAxLTAxJyBUTyAnMjAwNi0w MS0wMScKK1NFVCBjMiA9IGMyICsgMQorV0hFUkUgYzEgPSAnWzEsMiknOworRVJST1I6ICBmb3Jl aWduIHRhYmxlcyBkb24ndCBzdXBwb3J0IEZPUiBQT1JUSU9OIE9GCitTRUxFQ1QgKiBGUk9NIGZ0 OCBXSEVSRSBjMSA9ICdbMSwyKScgT1JERVIgQlkgYzEsIGM0OworICBjMSAgIHwgYzIgfCAgIGMz ICAgfCAgICAgICAgICAgYzQgICAgICAgICAgICAKKy0tLS0tLS0rLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEsMikgfCAgMiB8IEFBQTAwMSB8IFswMS0wMS0yMDAw LDAxLTAxLTIwMjApCisoMSByb3cpCisKKy0tIFRlc3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitE RUxFVEUgRlJPTSBmdDggRk9SIFBPUlRJT04gT0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIw MDYtMDEtMDEnCitXSEVSRSBjMSA9ICdbMiwzKSc7CitFUlJPUjogIGZvcmVpZ24gdGFibGVzIGRv bid0IHN1cHBvcnQgRk9SIFBPUlRJT04gT0YKK1NFTEVDVCAqIEZST00gZnQ4IFdIRVJFIGMxID0g J1syLDMpJyBPUkRFUiBCWSBjMSwgYzQ7CisgIGMxICAgfCBjMiB8ICAgYzMgICB8ICAgICAgICAg ICBjNCAgICAgICAgICAgIAorLS0tLS0tLSstLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyBbMiwzKSB8ICAzIHwgQUFBMDAyIHwgWzAxLTAxLTIwMDAsMDEtMDEtMjAyMCkK KygxIHJvdykKKwogLS0gVGVzdCBVUERBVEUvREVMRVRFIHdpdGggUkVUVVJOSU5HIG9uIGEgdGhy ZWUtdGFibGUgam9pbgogSU5TRVJUIElOVE8gZnQyIChjMSxjMixjMykKICAgU0VMRUNUIGlkLCBp ZCAtIDEyMDAsIHRvX2NoYXIoaWQsICdGTTAwMDAwJykgRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMTIw MSwgMTMwMCkgaWQ7CmRpZmYgLS1naXQgYS9jb250cmliL3Bvc3RncmVzX2Zkdy9zcWwvcG9zdGdy ZXNfZmR3LnNxbCBiL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3NxbC9wb3N0Z3Jlc19mZHcuc3FsCmlu ZGV4IDNiN2RhMTI4NTE5Li5kZGNkM2U5MGI3NSAxMDA2NDQKLS0tIGEvY29udHJpYi9wb3N0Z3Jl c19mZHcvc3FsL3Bvc3RncmVzX2Zkdy5zcWwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvc3Fs L3Bvc3RncmVzX2Zkdy5zcWwKQEAgLTU0LDEyICs1NCwyMCBAQCBDUkVBVEUgVEFCTEUgIlMgMSIu IlQgNCIgKAogCWMzIHRleHQsCiAJQ09OU1RSQUlOVCB0NF9wa2V5IFBSSU1BUlkgS0VZIChjMSkK ICk7CitDUkVBVEUgVEFCTEUgIlMgMSIuIlQgNSIgKAorCWMxIGludDRyYW5nZSBOT1QgTlVMTCwK KwljMiBpbnQgTk9UIE5VTEwsCisJYzMgdGV4dCwKKwljNCBkYXRlcmFuZ2UgTk9UIE5VTEwsCisJ Q09OU1RSQUlOVCB0NV9wa2V5IFBSSU1BUlkgS0VZIChjMSwgYzQgV0lUSE9VVCBPVkVSTEFQUykK Kyk7CiAKIC0tIERpc2FibGUgYXV0b3ZhY3V1bSBmb3IgdGhlc2UgdGFibGVzIHRvIGF2b2lkIHVu ZXhwZWN0ZWQgZWZmZWN0cyBvZiB0aGF0CiBBTFRFUiBUQUJMRSAiUyAxIi4iVCAxIiBTRVQgKGF1 dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOwogQUxURVIgVEFCTEUgIlMgMSIuIlQgMiIgU0VU IChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIEFMVEVSIFRBQkxFICJTIDEiLiJUIDMi IFNFVCAoYXV0b3ZhY3V1bV9lbmFibGVkID0gJ2ZhbHNlJyk7CiBBTFRFUiBUQUJMRSAiUyAxIi4i VCA0IiBTRVQgKGF1dG92YWN1dW1fZW5hYmxlZCA9ICdmYWxzZScpOworQUxURVIgVEFCTEUgIlMg MSIuIlQgNSIgU0VUIChhdXRvdmFjdXVtX2VuYWJsZWQgPSAnZmFsc2UnKTsKIAogSU5TRVJUIElO VE8gIlMgMSIuIlQgMSIKIAlTRUxFQ1QgaWQsCkBAIC04NywxMSArOTUsMTggQEAgSU5TRVJUIElO VE8gIlMgMSIuIlQgNCIKIAkgICAgICAgJ0FBQScgfHwgdG9fY2hhcihpZCwgJ0ZNMDAwJykKIAlG Uk9NIGdlbmVyYXRlX3NlcmllcygxLCAxMDApIGlkOwogREVMRVRFIEZST00gIlMgMSIuIlQgNCIg V0hFUkUgYzEgJSAzICE9IDA7CS0tIGRlbGV0ZSBmb3Igb3V0ZXIgam9pbiB0ZXN0cworSU5TRVJU IElOVE8gIlMgMSIuIlQgNSIKKwlTRUxFQ1QgaW50NHJhbmdlKGlkLCBpZCArIDEpLAorCSAgICAg ICBpZCArIDEsCisJICAgICAgICdBQUEnIHx8IHRvX2NoYXIoaWQsICdGTTAwMCcpLAorICAgICAg ICAnWzIwMDAtMDEtMDEsMjAyMC0wMS0wMSknCisJRlJPTSBnZW5lcmF0ZV9zZXJpZXMoMSwgMTAw KSBpZDsKIAogQU5BTFlaRSAiUyAxIi4iVCAxIjsKIEFOQUxZWkUgIlMgMSIuIlQgMiI7CiBBTkFM WVpFICJTIDEiLiJUIDMiOwogQU5BTFlaRSAiUyAxIi4iVCA0IjsKK0FOQUxZWkUgIlMgMSIuIlQg NSI7CiAKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tIGNyZWF0ZSBmb3JlaWduIHRhYmxlcwpAQCAtMTQ2LDYg KzE2MSwxNCBAQCBDUkVBVEUgRk9SRUlHTiBUQUJMRSBmdDcgKAogCWMzIHRleHQKICkgU0VSVkVS IGxvb3BiYWNrMyBPUFRJT05TIChzY2hlbWFfbmFtZSAnUyAxJywgdGFibGVfbmFtZSAnVCA0Jyk7 CiAKK0NSRUFURSBGT1JFSUdOIFRBQkxFIGZ0OCAoCisJYzEgaW50NHJhbmdlIE5PVCBOVUxMLAor CWMyIGludCBOT1QgTlVMTCwKKwljMyB0ZXh0LAorCWM0IGRhdGVyYW5nZSBOT1QgTlVMTAorKSBT RVJWRVIgbG9vcGJhY2sgT1BUSU9OUyAoc2NoZW1hX25hbWUgJ1MgMScsIHRhYmxlX25hbWUgJ1Qg NScpOworCisKIC0tID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KIC0tIHRlc3RzIGZvciB2YWxpZGF0b3IKIC0tID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KQEAgLTE1MzgsNiArMTU2MSwxNyBAQCBFWFBMQUlOICh2ZXJib3NlLCBjb3N0cyBvZmYp CiBERUxFVEUgRlJPTSBmdDIgV0hFUkUgYzEgPSAxMjAwIFJFVFVSTklORyB0YWJsZW9pZDo6cmVn Y2xhc3M7ICAgICAgICAgICAgICAgICAgICAgICAtLSBjYW4gYmUgcHVzaGVkIGRvd24KIERFTEVU RSBGUk9NIGZ0MiBXSEVSRSBjMSA9IDEyMDAgUkVUVVJOSU5HIHRhYmxlb2lkOjpyZWdjbGFzczsK IAorLS0gVGVzdCBVUERBVEUgRk9SIFBPUlRJT04gT0YKK1VQREFURSBmdDggRk9SIFBPUlRJT04g T0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIwMDYtMDEtMDEnCitTRVQgYzIgPSBjMiArIDEK K1dIRVJFIGMxID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZnQ4IFdIRVJFIGMxID0gJ1sxLDIp JyBPUkRFUiBCWSBjMSwgYzQ7CisKKy0tIFRlc3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitERUxF VEUgRlJPTSBmdDggRk9SIFBPUlRJT04gT0YgYzQgRlJPTSAnMjAwNS0wMS0wMScgVE8gJzIwMDYt MDEtMDEnCitXSEVSRSBjMSA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZ0OCBXSEVSRSBjMSA9 ICdbMiwzKScgT1JERVIgQlkgYzEsIGM0OworCiAtLSBUZXN0IFVQREFURS9ERUxFVEUgd2l0aCBS RVRVUk5JTkcgb24gYSB0aHJlZS10YWJsZSBqb2luCiBJTlNFUlQgSU5UTyBmdDIgKGMxLGMyLGMz KQogICBTRUxFQ1QgaWQsIGlkIC0gMTIwMCwgdG9fY2hhcihpZCwgJ0ZNMDAwMDAnKSBGUk9NIGdl bmVyYXRlX3NlcmllcygxMjAxLCAxMzAwKSBpZDsKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9y ZWYvY3JlYXRlX3B1YmxpY2F0aW9uLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9wdWJs aWNhdGlvbi5zZ21sCmluZGV4IDY2YTcwZTVjNWI1Li42YWM4ZjkzNWE3OCAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfcHVibGljYXRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3Nn bWwvcmVmL2NyZWF0ZV9wdWJsaWNhdGlvbi5zZ21sCkBAIC0zOTAsNiArMzkwLDEyIEBAIENSRUFU RSBQVUJMSUNBVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bmFtZTwvcmVwbGFj ZWFibGU+CiAgICBmb3IgZWFjaCByb3cgaW5zZXJ0ZWQsIHVwZGF0ZWQsIG9yIGRlbGV0ZWQuCiAg IDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIEZvciBhIDxjb21tYW5kPkZPUiBQT1JUSU9OIE9GPC9j b21tYW5kPiBjb21tYW5kLCB0aGUgcHVibGljYXRpb24gd2lsbCBwdWJsaXNoIGFuCisgICA8Y29t bWFuZD5VUERBVEU8L2NvbW1hbmQ+IG9yIDxjb21tYW5kPkRFTEVURTwvY29tbWFuZD4sIGZvbGxv d2VkIGJ5IG9uZQorICAgPGNvbW1hbmQ+SU5TRVJUPC9jb21tYW5kPiBmb3IgZWFjaCB0ZW1wb3Jh bCBsZWZ0b3ZlciByb3cgaW5zZXJ0ZWQuCisgIDwvcGFyYT4KKwogICA8cGFyYT4KICAgIDxjb21t YW5kPkFUVEFDSDwvY29tbWFuZD5pbmcgYSB0YWJsZSBpbnRvIGEgcGFydGl0aW9uIHRyZWUgd2hv c2Ugcm9vdCBpcwogICAgcHVibGlzaGVkIHVzaW5nIGEgcHVibGljYXRpb24gd2l0aCA8bGl0ZXJh bD5wdWJsaXNoX3ZpYV9wYXJ0aXRpb25fcm9vdDwvbGl0ZXJhbD4KZGlmZiAtLWdpdCBhL2RvYy9z cmMvc2dtbC9yZWYvZGVsZXRlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCmlu ZGV4IDI5NjQ5ZjZhZmQ2Li5mNDI1MzA5ZmQ1ZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3Jl Zi9kZWxldGUuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2RlbGV0ZS5zZ21sCkBAIC0yMiw3 ICsyMiw5IEBAIFBvc3RncmVTUUwgZG9jdW1lbnRhdGlvbgogIDxyZWZzeW5vcHNpc2Rpdj4KIDxz eW5vcHNpcz4KIFsgV0lUSCBbIFJFQ1VSU0lWRSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj53aXRoX3F1ZXJ5PC9yZXBsYWNlYWJsZT4gWywgLi4uXSBdCi1ERUxFVEUgRlJPTSBbIE9O TFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFi bGU+IFsgKiBdIFsgWyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwv cmVwbGFjZWFibGU+IF0KK0RFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KKyAgICBbIEZPUiBQT1JU SU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNl YWJsZT4gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3Rhcmdl dDwvcmVwbGFjZWFibGU+IF0KKyAgICBbIFsgQVMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+YWxpYXM8L3JlcGxhY2VhYmxlPiBdCiAgICAgWyBVU0lORyA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+ZnJvbV9pdGVtPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBdCiAgICAgWyBX SEVSRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29uZGl0aW9uPC9yZXBsYWNlYWJs ZT4gfCBXSEVSRSBDVVJSRU5UIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jdXJz b3JfbmFtZTwvcmVwbGFjZWFibGU+IF0KICAgICBbIFJFVFVSTklORyBbIFdJVEggKCB7IE9MRCB8 IE5FVyB9IEFTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5vdXRwdXRfYWxpYXM8L3Jl cGxhY2VhYmxlPiBbLCAuLi5dICkgXQpAQCAtNTUsNiArNTcsNDMgQEAgREVMRVRFIEZST00gWyBP TkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2Vh YmxlPiBbICoKICAgIGNpcmN1bXN0YW5jZXMuCiAgIDwvcGFyYT4KIAorICA8cGFyYT4KKyAgIElm IHRoZSB0YWJsZSBoYXMgYSByYW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiwKKyAgIHlvdSBtYXkg c3VwcGx5IGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVzZSwgYW5kIHlv dXIgZGVsZXRlIHdpbGwKKyAgIG9ubHkgYWZmZWN0IHJvd3MgdGhhdCBvdmVybGFwIHRoZSBnaXZl biBpbnRlcnZhbC4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3MgaGlzdG9yeQorICAgZXh0ZW5kcyBv dXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91bmRzLCB0aGVu IHlvdXIgZGVsZXRlCisgICB3aWxsIG9ubHkgY2hhbmdlIHRoZSBoaXN0b3J5IHdpdGhpbiB0aG9z ZSBib3VuZHMuIEluIGVmZmVjdCB5b3UgYXJlIGRlbGV0aW5nIGFueQorICAgbW9tZW50IHRhcmdl dGVkIGJ5IDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBhbmQgbm8gbW9tZW50cyBv dXRzaWRlLgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBTcGVjaWZpY2FsbHksIGFmdGVyIDxw cm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0bmFtZT4gZGVsZXRlcyB0aGUgZXhpc3Rpbmcg cm93LAorICAgaXQgd2lsbCA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+CisgICBuZXcgPGdsb3Nz dGVybSBsaW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPnRlbXBvcmFsIGxlZnRv dmVyczwvZ2xvc3N0ZXJtPjoKKyAgIHJvd3Mgd2hvc2UgcmFuZ2Ugb3IgbXVsdGlyYW5nZSByZWNl aXZlIHRoZSByZW1haW5pbmcgaGlzdG9yeSBvdXRzaWRlCisgICB0aGUgdGFyZ2V0ZWQgYm91bmRz LCB3aXRoIHVuLXVwZGF0ZWQgdmFsdWVzIGluIHRoZWlyIG90aGVyIGNvbHVtbnMuCisgICBUaGVy ZSB3aWxsIGJlIHplcm8gdG8gdHdvIGluc2VydGVkIHJlY29yZHMsCisgICBkZXBlbmRpbmcgb24g d2hldGhlciB0aGUgb3JpZ2luYWwgaGlzdG9yeSBleHRlbmRlZCBiZWZvcmUgdGhlIHRhcmdldGVk CisgICA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPiwgYWZ0ZXIgdGhlIHRhcmdldGVkIDxsaXRlcmFs PlRPPC9saXRlcmFsPiwgYm90aCwgb3IgbmVpdGhlci4KKyAgIE11bHRpcmFuZ2VzIG5ldmVyIHJl cXVpcmUgdHdvIHRlbXBvcmFsIGxlZnRvdmVycywgYmVjYXVzZSBvbmUgdmFsdWUgY2FuIGFsd2F5 cyBjb250YWluCisgICB3aGF0ZXZlciBoaXN0b3J5IHJlbWFpbnMuCisgIDwvcGFyYT4KKworICA8 cGFyYT4KKyAgIFRoZXNlIHNlY29uZGFyeSBpbnNlcnRzIGZpcmUgPGxpdGVyYWw+SU5TRVJUPC9s aXRlcmFsPiB0cmlnZ2Vycy4KKyAgIEJvdGggPGxpdGVyYWw+U1RBVEVNRU5UPC9saXRlcmFsPiBh bmQgPGxpdGVyYWw+Uk9XPC9saXRlcmFsPiB0cmlnZ2VycyBhcmUgZmlyZWQuCisgICBUaGUgPGxp dGVyYWw+QkVGT1JFIERFTEVURTwvbGl0ZXJhbD4gdHJpZ2dlcnMgYXJlIGZpcmVkIGZpcnN0LCB0 aGVuCisgICA8bGl0ZXJhbD5CRUZPUkUgSU5TRVJUPC9saXRlcmFsPiwgdGhlbiA8bGl0ZXJhbD5B RlRFUiBJTlNFUlQ8L2xpdGVyYWw+LAorICAgdGhlbiA8bGl0ZXJhbD5BRlRFUiBERUxFVEU8L2xp dGVyYWw+LgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGVzZSBzZWNvbmRhcnkgaW5zZXJ0 cyBkbyBub3QgcmVxdWlyZSA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+IHByaXZpbGVnZSBvbiB0 aGUgdGFibGUuCisgICBUaGlzIGlzIGJlY2F1c2UgY29uY2VwdHVhbGx5IG5vIG5ldyBpbmZvcm1h dGlvbiBoYXMgYmVlbiBhZGRlZC4gVGhlIGluc2VydGVkIHJvd3Mgb25seSBwcmVzZXJ2ZQorICAg ZXhpc3RpbmcgZGF0YSBhYm91dCB0aGUgdW50YXJnZXRlZCB0aW1lIHBlcmlvZC4gTm90ZSB0aGlz IG1heSByZXN1bHQgaW4gdXNlcnMgZmlyaW5nIDxsaXRlcmFsPklOU0VSVDwvbGl0ZXJhbD4KKyAg IHRyaWdnZXJzIHdobyBkb24ndCBoYXZlIGluc2VydCBwcml2aWxlZ2VzLCBzbyBiZSBjYXJlZnVs IGFib3V0IDxsaXRlcmFsPlNFQ1VSSVRZIERFRklORVI8L2xpdGVyYWw+IHRyaWdnZXIgZnVuY3Rp b25zIQorICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBUaGUgb3B0aW9uYWwgPGxpdGVyYWw+UkVU VVJOSU5HPC9saXRlcmFsPiBjbGF1c2UgY2F1c2VzIDxjb21tYW5kPkRFTEVURTwvY29tbWFuZD4K ICAgIHRvIGNvbXB1dGUgYW5kIHJldHVybiB2YWx1ZShzKSBiYXNlZCBvbiBlYWNoIHJvdyBhY3R1 YWxseSBkZWxldGVkLgpAQCAtMTE3LDYgKzE1Niw1NyBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsg KgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KIAorICAgPHZhcmxpc3RlbnRy eT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwv cmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDxsaXN0aXRlbT4KKyAgICAgPHBhcmE+CisgICAgICBU aGUgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1bW4gdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRl bXBvcmFsIGRlbGV0ZS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxp c3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNlYWJsZT48L3Rlcm0+ CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSBpbnRlcnZhbCB0byBkZWxl dGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5nIGEgcmFuZ2UgY29sdW1uLAorICAgICAgeW91IG1heSBn aXZlIHRoaXMgaW4gdGhlIGZvcm0gPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4KKyAgICAgIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBsYWNlYWJsZT4gPGxpdGVy YWw+VE88L2xpdGVyYWw+CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5k X3RpbWU8L3JlcGxhY2VhYmxlPi4KKyAgICAgIE90aGVyd2lzZSB5b3UgbXVzdCB1c2UKKyAgICAg IDxsaXRlcmFsPig8L2xpdGVyYWw+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJl c3Npb248L3JlcGxhY2VhYmxlPjxsaXRlcmFsPik8L2xpdGVyYWw+CisgICAgICB3aGVyZSB0aGUg ZXhwcmVzc2lvbiB5aWVsZHMgYSB2YWx1ZSBvZiB0aGUgc2FtZSB0eXBlIGFzCisgICAgICA8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LgorICAg ICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCisgICA8dmFy bGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFy dF90aW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4K KyAgICAgIFRoZSBlYXJsaWVzdCB0aW1lIChpbmNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBv cmFsIGRlbGV0ZS4KKyAgICAgIFRoaXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNl IHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xp dGVyYWw+IGhlcmUgaW5kaWNhdGVzIGEgZGVsZXRlIHdob3NlIGJlZ2lubmluZyBpcworICAgICAg dW5ib3VuZGVkIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlz dGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVy bT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPjwv dGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGxhdGVzdCB0aW1l IChleGNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIGRlbGV0ZS4KKyAgICAgIFRoaXMg bXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20K KyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNl YWJsZT4uIEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVzIGEg ZGVsZXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKKyAgICAgIChhcyB3aXRoIHJhbmdlIHR5cGVz KS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+CisgICA8L3Zhcmxpc3RlbnRyeT4KKwog ICAgPHZhcmxpc3RlbnRyeT4KICAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+ZnJvbV9pdGVtPC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgpAQCAtMjM4 LDYgKzMyOCwxMCBAQCBERUxFVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvdW50 PC9yZXBsYWNlYWJsZT4KICAgIHN1cHByZXNzZWQgYnkgYSA8bGl0ZXJhbD5CRUZPUkUgREVMRVRF PC9saXRlcmFsPiB0cmlnZ2VyLiAgSWYgPHJlcGxhY2VhYmxlCiAgICBjbGFzcz0icGFyYW1ldGVy Ij5jb3VudDwvcmVwbGFjZWFibGU+IGlzIDAsIG5vIHJvd3Mgd2VyZSBkZWxldGVkIGJ5CiAgICB0 aGUgcXVlcnkgKHRoaXMgaXMgbm90IGNvbnNpZGVyZWQgYW4gZXJyb3IpLgorICAgSWYgPGxpdGVy YWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IHdhcyB1c2VkLCB0aGUKKyAgIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb3VudDwvcmVwbGFjZWFibGU+IGFsc28gaW5jbHVkZXMKKyAg IDxnbG9zc3Rlcm0gbGlua2VuZD0iZ2xvc3NhcnktdGVtcG9yYWwtbGVmdG92ZXJzIj50ZW1wb3Jh bCBsZWZ0b3ZlcnM8L2dsb3NzdGVybT4KKyAgIHRoYXQgd2VyZSBpbnNlcnRlZC4KICAgPC9wYXJh PgogCiAgIDxwYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUuc2dtbCBi L2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKaW5kZXggNDBjY2EwNjM5NDYuLmFkMzIyNGMy ZGYyIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sCisrKyBiL2RvYy9z cmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKQEAgLTIyLDcgKzIyLDkgQEAgUG9zdGdyZVNRTCBkb2N1 bWVudGF0aW9uCiAgPHJlZnN5bm9wc2lzZGl2PgogPHN5bm9wc2lzPgogWyBXSVRIIFsgUkVDVVJT SVZFIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPndpdGhfcXVlcnk8L3JlcGxhY2Vh YmxlPiBbLCAuLi5dIF0KLVVQREFURSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdIFsgWyBBUyBdIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwvcmVwbGFjZWFibGU+IF0KK1VQREFURSBbIE9OTFkg XSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+ IFsgKiBdCisgICAgWyBGT1IgUE9SVElPTiBPRiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCisgICAgWyBbIEFTIF0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNlYWJsZT4gXQogICAgIFNF VCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFi bGU+ID0geyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFj ZWFibGU+IHwgREVGQVVMVCB9IHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9IFsgUk9XIF0gKCB7 IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJsZT4g fCBERUZBVUxUIH0gWywgLi4uXSApIHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9ICggPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN1Yi1TRUxFQ1Q8L3JlcGxhY2VhYmxlPiApCkBAIC01 Miw2ICs1NCw0NSBAQCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbCiAgICBjaXJjdW1zdGFuY2VzLgog ICA8L3BhcmE+CiAKKyAgPHBhcmE+CisgICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVs dGlyYW5nZSBjb2x1bW4sCisgICB5b3UgbWF5IHN1cHBseSBhIDxsaXRlcmFsPkZPUiBQT1JUSU9O IE9GPC9saXRlcmFsPiBjbGF1c2UsIGFuZCB5b3VyIHVwZGF0ZSB3aWxsCisgICBvbmx5IGFmZmVj dCByb3dzIHRoYXQgb3ZlcmxhcCB0aGUgZ2l2ZW4gaW50ZXJ2YWwuIEZ1cnRoZXJtb3JlLCBpZiBh IHJvdydzIGhpc3RvcnkKKyAgIGV4dGVuZHMgb3V0c2lkZSB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJ T04gT0Y8L2xpdGVyYWw+IGJvdW5kcywgdGhlbiB5b3VyIHVwZGF0ZQorICAgd2lsbCBvbmx5IGNo YW5nZSB0aGUgaGlzdG9yeSB3aXRoaW4gdGhvc2UgYm91bmRzLiBJbiBlZmZlY3QgeW91IGFyZSB1 cGRhdGluZyBhbnkKKyAgIG1vbWVudCB0YXJnZXRlZCBieSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBP RjwvbGl0ZXJhbD4gYW5kIG5vIG1vbWVudHMgb3V0c2lkZS4KKyAgPC9wYXJhPgorCisgIDxwYXJh PgorICAgU3BlY2lmaWNhbGx5LCB3aGVuIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0 bmFtZT4gdXBkYXRlcyB0aGUgZXhpc3Rpbmcgcm93LAorICAgaXQgd2lsbCBhbHNvIGNoYW5nZSB0 aGUgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBzbyB0aGF0IHRoZWlyIGludGVydmFsCisgICBubyBsb25n ZXIgZXh0ZW5kcyBiZXlvbmQgdGhlIHRhcmdldGVkIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9s aXRlcmFsPiBib3VuZHMuCisgICBUaGVuIDxwcm9kdWN0bmFtZT5Qb3N0Z3JlU1FMPC9wcm9kdWN0 bmFtZT4gd2lsbCA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+CisgICBuZXcgPGdsb3NzdGVybSBs aW5rZW5kPSJnbG9zc2FyeS10ZW1wb3JhbC1sZWZ0b3ZlcnMiPnRlbXBvcmFsIGxlZnRvdmVyczwv Z2xvc3N0ZXJtPjoKKyAgIHJvd3Mgd2hvc2UgcmFuZ2Ugb3IgbXVsdGlyYW5nZSByZWNlaXZlIHRo ZSByZW1haW5pbmcgaGlzdG9yeSBvdXRzaWRlCisgICB0aGUgdGFyZ2V0ZWQgYm91bmRzLCB3aXRo IHVuLXVwZGF0ZWQgdmFsdWVzIGluIHRoZWlyIG90aGVyIGNvbHVtbnMuCisgICBUaGVyZSB3aWxs IGJlIHplcm8gdG8gdHdvIGluc2VydGVkIHJlY29yZHMsCisgICBkZXBlbmRpbmcgb24gd2hldGhl ciB0aGUgb3JpZ2luYWwgaGlzdG9yeSBleHRlbmRlZCBiZWZvcmUgdGhlIHRhcmdldGVkCisgICA8 bGl0ZXJhbD5GUk9NPC9saXRlcmFsPiwgYWZ0ZXIgdGhlIHRhcmdldGVkIDxsaXRlcmFsPlRPPC9s aXRlcmFsPiwgYm90aCwgb3IgbmVpdGhlci4KKyAgIE11bHRpcmFuZ2VzIG5ldmVyIHJlcXVpcmUg dHdvIHRlbXBvcmFsIGxlZnRvdmVycywgYmVjYXVzZSBvbmUgdmFsdWUgY2FuIGFsd2F5cyBjb250 YWluCisgICB3aGF0ZXZlciBoaXN0b3J5IHJlbWFpbnMuCisgIDwvcGFyYT4KKworICA8cGFyYT4K KyAgIFRoZXNlIHNlY29uZGFyeSBpbnNlcnRzIGZpcmUgPGxpdGVyYWw+SU5TRVJUPC9saXRlcmFs PiB0cmlnZ2Vycy4KKyAgIEJvdGggPGxpdGVyYWw+U1RBVEVNRU5UPC9saXRlcmFsPiBhbmQgPGxp dGVyYWw+Uk9XPC9saXRlcmFsPiB0cmlnZ2VycyBhcmUgZmlyZWQuCisgICBUaGUgPGxpdGVyYWw+ QkVGT1JFIFVQREFURTwvbGl0ZXJhbD4gdHJpZ2dlcnMgYXJlIGZpcmVkIGZpcnN0LCB0aGVuCisg ICA8bGl0ZXJhbD5CRUZPUkUgSU5TRVJUPC9saXRlcmFsPiwgdGhlbiA8bGl0ZXJhbD5BRlRFUiBJ TlNFUlQ8L2xpdGVyYWw+LAorICAgdGhlbiA8bGl0ZXJhbD5BRlRFUiBVUERBVEU8L2xpdGVyYWw+ LgorICA8L3BhcmE+CisKKyAgPHBhcmE+CisgICBUaGVzZSBzZWNvbmRhcnkgaW5zZXJ0cyBkbyBu b3QgcmVxdWlyZSA8bGl0ZXJhbD5JTlNFUlQ8L2xpdGVyYWw+IHByaXZpbGVnZSBvbiB0aGUgdGFi bGUuCisgICBUaGlzIGlzIGJlY2F1c2UgY29uY2VwdHVhbGx5IG5vIG5ldyBpbmZvcm1hdGlvbiBo YXMgYmVlbiBhZGRlZC4gVGhlIGluc2VydGVkIHJvd3Mgb25seSBwcmVzZXJ2ZQorICAgZXhpc3Rp bmcgZGF0YSBhYm91dCB0aGUgdW50YXJnZXRlZCB0aW1lIHBlcmlvZC4gTm90ZSB0aGlzIG1heSBy ZXN1bHQgaW4gdXNlcnMgZmlyaW5nIDxsaXRlcmFsPklOU0VSVDwvbGl0ZXJhbD4KKyAgIHRyaWdn ZXJzIHdobyBkb24ndCBoYXZlIGluc2VydCBwcml2aWxlZ2VzLCBzbyBiZSBjYXJlZnVsIGFib3V0 IDxsaXRlcmFsPlNFQ1VSSVRZIERFRklORVI8L2xpdGVyYWw+IHRyaWdnZXIgZnVuY3Rpb25zIQor ICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBUaGUgb3B0aW9uYWwgPGxpdGVyYWw+UkVUVVJOSU5H PC9saXRlcmFsPiBjbGF1c2UgY2F1c2VzIDxjb21tYW5kPlVQREFURTwvY29tbWFuZD4KICAgIHRv IGNvbXB1dGUgYW5kIHJldHVybiB2YWx1ZShzKSBiYXNlZCBvbiBlYWNoIHJvdyBhY3R1YWxseSB1 cGRhdGVkLgpAQCAtMTE2LDYgKzE1Nyw1NyBAQCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXSBbCiAgICAg PC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8dmFybGlzdGVudHJ5PgorICAg IDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNl YWJsZT48L3Rlcm0+CisgICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoZSByYW5n ZSBvciBtdWx0aXJhbmdlIGNvbHVtbiB0byB1c2Ugd2hlbiBwZXJmb3JtaW5nIGEgdGVtcG9yYWwg dXBkYXRlLgorICAgICA8L3BhcmE+CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5 PgorCisgICA8dmFybGlzdGVudHJ5PgorICAgIDx0ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8 bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGludGVydmFsIHRvIHVwZGF0ZS4gSWYg eW91IGFyZSB0YXJnZXRpbmcgYSByYW5nZSBjb2x1bW4sCisgICAgICB5b3UgbWF5IGdpdmUgdGhp cyBpbiB0aGUgZm9ybSA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPgorICAgICAgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnN0YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiA8bGl0ZXJhbD5UTzwv bGl0ZXJhbD4KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGltZTwv cmVwbGFjZWFibGU+LgorICAgICAgT3RoZXJ3aXNlIHlvdSBtdXN0IHVzZQorICAgICAgPGxpdGVy YWw+KDwvbGl0ZXJhbD48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwv cmVwbGFjZWFibGU+PGxpdGVyYWw+KTwvbGl0ZXJhbD4KKyAgICAgIHdoZXJlIHRoZSBleHByZXNz aW9uIHlpZWxkcyBhIHZhbHVlIG9mIHRoZSBzYW1lIHR5cGUgYXMKKyAgICAgIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uCisgICAgIDwvcGFy YT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKKyAgIDx2YXJsaXN0ZW50 cnk+CisgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnN0YXJ0X3RpbWU8 L3JlcGxhY2VhYmxlPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAg VGhlIGVhcmxpZXN0IHRpbWUgKGluY2x1c2l2ZSkgdG8gY2hhbmdlIGluIGEgdGVtcG9yYWwgdXBk YXRlLgorICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBv ZiB0aGUgcmFuZ2UgZnJvbQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJh bmdlX25hbWU8L3JlcGxhY2VhYmxlPi4gQQorICAgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4g aGVyZSBpbmRpY2F0ZXMgYW4gdXBkYXRlIHdob3NlIGJlZ2lubmluZyBpcworICAgICAgdW5ib3Vu ZGVkIChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KKyAgICAgPC9wYXJhPgorICAgIDwvbGlzdGl0ZW0+ CisgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgPHZhcmxpc3RlbnRyeT4KKyAgICA8dGVybT48cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3RpbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4K KyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgVGhlIGxhdGVzdCB0aW1lIChleGNs dXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRlbXBvcmFsIHVwZGF0ZS4KKyAgICAgIFRoaXMgbXVzdCBi ZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KKyAgICAg IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4u IEEKKyAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVzIGFuIHVwZGF0 ZSB3aG9zZSBlbmQgaXMgdW5ib3VuZGVkCisgICAgICAoYXMgd2l0aCByYW5nZSB0eXBlcykuCisg ICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2 YXJsaXN0ZW50cnk+CiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNv bHVtbl9uYW1lPC9yZXBsYWNlYWJsZT48L3Rlcm0+CiAgICAgPGxpc3RpdGVtPgpAQCAtMjgzLDYg KzM3NSwxMCBAQCBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvdW50PC9y ZXBsYWNlYWJsZT4KICAgIHVwZGF0ZXMgd2VyZSBzdXBwcmVzc2VkIGJ5IGEgPGxpdGVyYWw+QkVG T1JFIFVQREFURTwvbGl0ZXJhbD4gdHJpZ2dlci4gIElmCiAgICA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBpcyAwLCBubyByb3dzIHdlcmUKICAgIHVw ZGF0ZWQgYnkgdGhlIHF1ZXJ5ICh0aGlzIGlzIG5vdCBjb25zaWRlcmVkIGFuIGVycm9yKS4KKyAg IElmIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiB3YXMgdXNlZCwgdGhlCisgICA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y291bnQ8L3JlcGxhY2VhYmxlPiBhbHNvIGlu Y2x1ZGVzCisgICA8Z2xvc3N0ZXJtIGxpbmtlbmQ9Imdsb3NzYXJ5LXRlbXBvcmFsLWxlZnRvdmVy cyI+dGVtcG9yYWwgbGVmdG92ZXJzPC9nbG9zc3Rlcm0+CisgICB0aGF0IHdlcmUgaW5zZXJ0ZWQu CiAgIDwvcGFyYT4KIAogICA8cGFyYT4KZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC90cmlnZ2Vy LnNnbWwgYi9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCmluZGV4IGJiMWI1ZmFmMzRlLi5lM2Fk OTgwNjUyOCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAorKysgYi9kb2Mv c3JjL3NnbWwvdHJpZ2dlci5zZ21sCkBAIC0zNzMsNiArMzczLDE1IEBACiAgICAgcmVzcG9uc2li aWxpdHkgdG8gYXZvaWQgdGhhdC4KICAgIDwvcGFyYT4KIAorICAgPHBhcmE+CisgICAgSWYgYW4g PGNvbW1hbmQ+VVBEQVRFPC9jb21tYW5kPiBvciA8Y29tbWFuZD5ERUxFVEU8L2NvbW1hbmQ+IHVz ZXMKKyAgICA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4sIGNhdXNpbmcgbmV3IHJv d3MgdG8gYmUgaW5zZXJ0ZWQKKyAgICB0byBwcmVzZXJ2ZSB0aGUgbGVmdG92ZXIgdW50YXJnZXRl ZCBwYXJ0IG9mIG1vZGlmaWVkIHJlY29yZHMsIHRoZW4KKyAgICA8Y29tbWFuZD5JTlNFUlQ8L2Nv bW1hbmQ+IHRyaWdnZXJzIGFyZSBmaXJlZCBmb3IgZWFjaCBpbnNlcnRlZAorICAgIHJvdy4gRWFj aCByb3cgaXMgaW5zZXJ0ZWQgc2VwYXJhdGVseSwgc28gdGhleSBmaXJlIHRoZWlyIG93bgorICAg IHN0YXRlbWVudCB0cmlnZ2VycywgYW5kIHRoZXkgaGF2ZSB0aGVpciBvd24gdHJhbnNpdGlvbiB0 YWJsZXMuCisgICA8L3BhcmE+CisKICAgIDxwYXJhPgogICAgIDxpbmRleHRlcm0+CiAgICAgIDxw cmltYXJ5PnRyaWdnZXI8L3ByaW1hcnk+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9leGVjdXRv ci9leGVjTWFpbi5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwppbmRleCA4MzFj NTVjZTc4Ny4uYTJkOWNkOWIzNDUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4 ZWNNYWluLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY01haW4uYwpAQCAtMTI5NSw2 ICsxMjk1LDcgQEAgSW5pdFJlc3VsdFJlbEluZm8oUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5m bywKIAlyZXN1bHRSZWxJbmZvLT5yaV9wcm9qZWN0UmV0dXJuaW5nID0gTlVMTDsKIAlyZXN1bHRS ZWxJbmZvLT5yaV9vbkNvbmZsaWN0QXJiaXRlckluZGV4ZXMgPSBOSUw7CiAJcmVzdWx0UmVsSW5m by0+cmlfb25Db25mbGljdCA9IE5VTEw7CisJcmVzdWx0UmVsSW5mby0+cmlfZm9yUG9ydGlvbk9m ID0gTlVMTDsKIAlyZXN1bHRSZWxJbmZvLT5yaV9SZXR1cm5pbmdTbG90ID0gTlVMTDsKIAlyZXN1 bHRSZWxJbmZvLT5yaV9UcmlnT2xkU2xvdCA9IE5VTEw7CiAJcmVzdWx0UmVsSW5mby0+cmlfVHJp Z05ld1Nsb3QgPSBOVUxMOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvZXhlY3V0b3Ivbm9kZU1v ZGlmeVRhYmxlLmMgYi9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYwppbmRl eCA0YzU2NDdhYzM4YS4uMzUwNzE0MzUzYzkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2V4ZWN1 dG9yL25vZGVNb2RpZnlUYWJsZS5jCisrKyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVNb2Rp ZnlUYWJsZS5jCkBAIC02OCw2ICs2OCw3IEBACiAjaW5jbHVkZSAic3RvcmFnZS9sbWdyLmgiCiAj aW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCIKICNpbmNsdWRlICJ1dGlscy9kYXR1bS5oIgorI2lu Y2x1ZGUgInV0aWxzL3JhbmdldHlwZXMuaCIKICNpbmNsdWRlICJ1dGlscy9yZWwuaCIKICNpbmNs dWRlICJ1dGlscy9zbmFwbWdyLmgiCiAKQEAgLTEzMSw3ICsxMzIsNiBAQCB0eXBlZGVmIHN0cnVj dCBVcGRhdGVDb250ZXh0CiAJTG9ja1R1cGxlTW9kZSBsb2NrbW9kZTsKIH0gVXBkYXRlQ29udGV4 dDsKIAotCiBzdGF0aWMgdm9pZCBFeGVjQmF0Y2hJbnNlcnQoTW9kaWZ5VGFibGVTdGF0ZSAqbXRz dGF0ZSwKIAkJCQkJCQlSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQkJCQkJCVR1cGxl VGFibGVTbG90ICoqc2xvdHMsCkBAIC0xNTIsNiArMTUyLDEwIEBAIHN0YXRpYyBib29sIEV4ZWNP bkNvbmZsaWN0VXBkYXRlKE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwKIAkJCQkJCQkJIFR1 cGxlVGFibGVTbG90ICpleGNsdWRlZFNsb3QsCiAJCQkJCQkJCSBib29sIGNhblNldFRhZywKIAkJ CQkJCQkJIFR1cGxlVGFibGVTbG90ICoqcmV0dXJuaW5nKTsKK3N0YXRpYyB2b2lkIEV4ZWNGb3JQ b3J0aW9uT2ZMZWZ0b3ZlcnMoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAorCQkJCQkJCQkJ ICBFU3RhdGUgKmVzdGF0ZSwKKwkJCQkJCQkJCSAgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5m bywKKwkJCQkJCQkJCSAgSXRlbVBvaW50ZXIgdHVwbGVpZCk7CiBzdGF0aWMgVHVwbGVUYWJsZVNs b3QgKkV4ZWNQcmVwYXJlVHVwbGVSb3V0aW5nKE1vZGlmeVRhYmxlU3RhdGUgKm10c3RhdGUsCiAJ CQkJCQkJCQkJCSAgIEVTdGF0ZSAqZXN0YXRlLAogCQkJCQkJCQkJCQkgICBQYXJ0aXRpb25UdXBs ZVJvdXRpbmcgKnByb3V0ZSwKQEAgLTE3NCw2ICsxNzgsOSBAQCBzdGF0aWMgVHVwbGVUYWJsZVNs b3QgKkV4ZWNNZXJnZU1hdGNoZWQoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAogc3RhdGlj IFR1cGxlVGFibGVTbG90ICpFeGVjTWVyZ2VOb3RNYXRjaGVkKE1vZGlmeVRhYmxlQ29udGV4dCAq Y29udGV4dCwKIAkJCQkJCQkJCQkgICBSZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQkJ CQkJCQkJCSAgIGJvb2wgY2FuU2V0VGFnKTsKK3N0YXRpYyB2b2lkIEV4ZWNTZXR1cFRyYW5zaXRp b25DYXB0dXJlU3RhdGUoTW9kaWZ5VGFibGVTdGF0ZSAqbXRzdGF0ZSwgRVN0YXRlICplc3RhdGUp Oworc3RhdGljIHZvaWQgZmlyZUJTVHJpZ2dlcnMoTW9kaWZ5VGFibGVTdGF0ZSAqbm9kZSk7Citz dGF0aWMgdm9pZCBmaXJlQVNUcmlnZ2VycyhNb2RpZnlUYWJsZVN0YXRlICpub2RlKTsKIAogCiAv KgpAQCAtMTM1NSw2ICsxMzYyLDE5MyBAQCBFeGVjSW5zZXJ0KE1vZGlmeVRhYmxlQ29udGV4dCAq Y29udGV4dCwKIAlyZXR1cm4gcmVzdWx0OwogfQogCisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgkJRXhlY0ZvclBv cnRpb25PZkxlZnRvdmVycworICoKKyAqCQlJbnNlcnQgdHVwbGVzIGZvciB0aGUgdW50b3VjaGVk IHBvcnRpb24gb2YgYSByb3cgaW4gYSBGT1IKKyAqCQlQT1JUSU9OIE9GIFVQREFURS9ERUxFVEUK KyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK0V4ZWNGb3JQb3J0aW9uT2ZMZWZ0b3ZlcnMo TW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LAorCQkJCQkJICBFU3RhdGUgKmVzdGF0ZSwKKwkJ CQkJCSAgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKKwkJCQkJCSAgSXRlbVBvaW50ZXIg dHVwbGVpZCkKK3sKKwlNb2RpZnlUYWJsZVN0YXRlICptdHN0YXRlID0gY29udGV4dC0+bXRzdGF0 ZTsKKwlNb2RpZnlUYWJsZSAqbm9kZSA9IChNb2RpZnlUYWJsZSAqKSBtdHN0YXRlLT5wcy5wbGFu OworCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiA9IChGb3JQb3J0aW9uT2ZFeHByICop IG5vZGUtPmZvclBvcnRpb25PZjsKKwlBdHRyTnVtYmVyCXJhbmdlQXR0bm87CisJRGF0dW0JCW9s ZFJhbmdlOworCVR5cGVDYWNoZUVudHJ5ICp0eXBjYWNoZTsKKwlGb3JQb3J0aW9uT2ZTdGF0ZSAq ZnBvU3RhdGUgPSByZXN1bHRSZWxJbmZvLT5yaV9mb3JQb3J0aW9uT2Y7CisJVHVwbGVUYWJsZVNs b3QgKm9sZHR1cGxlU2xvdCA9IGZwb1N0YXRlLT5mcF9FeGlzdGluZzsKKwlUdXBsZVRhYmxlU2xv dCAqbGVmdG92ZXJTbG90ID0gZnBvU3RhdGUtPmZwX0xlZnRvdmVyOworCVR1cGxlQ29udmVyc2lv bk1hcCAqbWFwID0gTlVMTDsKKwlIZWFwVHVwbGUJb2xkdHVwbGUgPSBOVUxMOworCUNtZFR5cGUJ CW9sZE9wZXJhdGlvbjsKKwlUcmFuc2l0aW9uQ2FwdHVyZVN0YXRlICpvbGRUY3M7CisJRm1ncklu Zm8JZmxpbmZvOworCVJldHVyblNldEluZm8gcnNpOworCWJvb2wJCWRpZEluaXQgPSBmYWxzZTsK Kwlib29sCQlzaG91bGRGcmVlID0gZmFsc2U7CisKKwlMT0NBTF9GQ0lORk8oZmNpbmZvLCAyKTsK KworCS8qCisJICogR2V0IHRoZSByYW5nZSBvZiB0aGUgb2xkIHByZS1VUERBVEUvREVMRVRFIHR1 cGxlLCBzbyB3ZSBjYW4gaW50ZXJzZWN0CisJICogaXQgd2l0aCB0aGUgRk9SIFBPUlRJT04gT0Yg dGFyZ2V0IGFuZCBzZWUgaWYgdGhlcmUgYXJlIGFueSB0ZW1wb3JhbAorCSAqIGxlZnRvdmVycyB0 byBpbnNlcnQuCisJICoKKwkgKiBXZSBoYXZlIGFscmVhZHkgbG9ja2VkIHRoZSB0dXBsZSBpbiBF eGVjVXBkYXRlL0V4ZWNEZWxldGUgYW5kIGl0IGhhcworCSAqIHBhc3NlZCBFdmFsUGxhblF1YWwu IE1ha2Ugc3VyZSB3ZSdyZSBsb29raW5nIGF0IHRoZSBtb3N0IHJlY2VudAorCSAqIHZlcnNpb24u IE90aGVyd2lzZSBjb25jdXJyZW50IHVwZGF0ZXMgb2YgdGhlIHNhbWUgdHVwbGUgaW4gUkVBRAor CSAqIENPTU1JVFRFRCBjb3VsZCBpbnNlcnQgY29uZmxpY3RpbmcgdGVtcG9yYWwgbGVmdG92ZXJz LgorCSAqLworCWlmICghdGFibGVfdHVwbGVfZmV0Y2hfcm93X3ZlcnNpb24ocmVzdWx0UmVsSW5m by0+cmlfUmVsYXRpb25EZXNjLCB0dXBsZWlkLCBTbmFwc2hvdEFueSwgb2xkdHVwbGVTbG90KSkK KwkJZWxvZyhFUlJPUiwgImZhaWxlZCB0byBmZXRjaCB0dXBsZSBmb3IgRk9SIFBPUlRJT04gT0Yi KTsKKworCS8qCisJICogR2V0IHRoZSBvbGQgcmFuZ2Ugb2YgdGhlIHJlY29yZCBiZWluZyB1cGRh dGVkL2RlbGV0ZWQuIE11c3QgcmVhZCB3aXRoCisJICogdGhlIGF0dG5vIG9mIHRoZSBsZWFmIHBh cnRpdGlvbiBiZWluZyB1cGRhdGVkLgorCSAqLworCisJcmFuZ2VBdHRubyA9IGZvclBvcnRpb25P Zi0+cmFuZ2VWYXItPnZhcmF0dG5vOworCWlmIChyZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0 UmVsSW5mbykKKwkJbWFwID0gRXhlY0dldENoaWxkVG9Sb290TWFwKHJlc3VsdFJlbEluZm8pOwor CWlmIChtYXAgIT0gTlVMTCkKKwkJcmFuZ2VBdHRubyA9IG1hcC0+YXR0ck1hcC0+YXR0bnVtc1ty YW5nZUF0dG5vIC0gMV07CisJc2xvdF9nZXRhbGxhdHRycyhvbGR0dXBsZVNsb3QpOworCisJaWYg KG9sZHR1cGxlU2xvdC0+dHRzX2lzbnVsbFtyYW5nZUF0dG5vIC0gMV0pCisJCWVsb2coRVJST1Is ICJmb3VuZCBhIE5VTEwgcmFuZ2UgaW4gYSB0ZW1wb3JhbCB0YWJsZSIpOworCW9sZFJhbmdlID0g b2xkdHVwbGVTbG90LT50dHNfdmFsdWVzW3JhbmdlQXR0bm8gLSAxXTsKKworCS8qCisJICogR2V0 IHRoZSByYW5nZSdzIHR5cGUgY2FjaGUgZW50cnkuIFRoaXMgaXMgd29ydGggY2FjaGluZyBmb3Ig dGhlIHdob2xlCisJICogVVBEQVRFL0RFTEVURSBhcyByYW5nZSBmdW5jdGlvbnMgZG8uCisJICov CisKKwl0eXBjYWNoZSA9IGZwb1N0YXRlLT5mcF9sZWZ0b3ZlcnN0eXBjYWNoZTsKKwlpZiAodHlw Y2FjaGUgPT0gTlVMTCkKKwl7CisJCXR5cGNhY2hlID0gbG9va3VwX3R5cGVfY2FjaGUoZm9yUG9y dGlvbk9mLT5yYW5nZVR5cGUsIDApOworCQlmcG9TdGF0ZS0+ZnBfbGVmdG92ZXJzdHlwY2FjaGUg PSB0eXBjYWNoZTsKKwl9CisKKwkvKgorCSAqIEdldCB0aGUgcmFuZ2VzIHRvIHRoZSBsZWZ0L3Jp Z2h0IG9mIHRoZSB0YXJnZXRlZCByYW5nZS4gV2UgY2FsbCBhIFNFVE9GCisJICogc3VwcG9ydCBm dW5jdGlvbiBhbmQgaW5zZXJ0IGFzIG1hbnkgdGVtcG9yYWwgbGVmdG92ZXJzIGFzIGl0IGdpdmVz IHVzLgorCSAqIEFsdGhvdWdoIHJhbmdldHlwZXMgaGF2ZSAwLzEvMiBsZWZ0b3ZlcnMsIG11bHRp cmFuZ2VzIGhhdmUgMC8xLCBhbmQKKwkgKiBvdGhlciB0eXBlcyBtYXkgaGF2ZSBtb3JlLgorCSAq LworCisJZm1ncl9pbmZvKGZvclBvcnRpb25PZi0+d2l0aG91dFBvcnRpb25Qcm9jLCAmZmxpbmZv KTsKKwlyc2kudHlwZSA9IFRfUmV0dXJuU2V0SW5mbzsKKwlyc2kuZWNvbnRleHQgPSBtdHN0YXRl LT5wcy5wc19FeHByQ29udGV4dDsKKwlyc2kuZXhwZWN0ZWREZXNjID0gTlVMTDsKKwlyc2kuYWxs b3dlZE1vZGVzID0gKGludCkgKFNGUk1fVmFsdWVQZXJDYWxsKTsKKwlyc2kucmV0dXJuTW9kZSA9 IFNGUk1fVmFsdWVQZXJDYWxsOworCXJzaS5zZXRSZXN1bHQgPSBOVUxMOworCXJzaS5zZXREZXNj ID0gTlVMTDsKKworCUluaXRGdW5jdGlvbkNhbGxJbmZvRGF0YSgqZmNpbmZvLCAmZmxpbmZvLCAy LCBJbnZhbGlkT2lkLCBOVUxMLCAoTm9kZSAqKSAmcnNpKTsKKwlmY2luZm8tPmFyZ3NbMF0udmFs dWUgPSBvbGRSYW5nZTsKKwlmY2luZm8tPmFyZ3NbMF0uaXNudWxsID0gZmFsc2U7CisJZmNpbmZv LT5hcmdzWzFdLnZhbHVlID0gZnBvU3RhdGUtPmZwX3RhcmdldFJhbmdlOworCWZjaW5mby0+YXJn c1sxXS5pc251bGwgPSBmYWxzZTsKKworCS8qCisJICogSWYgdGhlcmUgYXJlIHBhcnRpdGlvbnMs IHdlIG11c3QgaW5zZXJ0IGludG8gdGhlIHJvb3QgdGFibGUsIHNvIHdlIGdldAorCSAqIHR1cGxl IHJvdXRpbmcuIFdlIGFscmVhZHkgc2V0IHVwIGxlZnRvdmVyU2xvdCB3aXRoIHRoZSByb290IHR1 cGxlCisJICogZGVzY3JpcHRvci4KKwkgKi8KKwlpZiAocmVzdWx0UmVsSW5mby0+cmlfUm9vdFJl c3VsdFJlbEluZm8pCisJCXJlc3VsdFJlbEluZm8gPSByZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVz dWx0UmVsSW5mbzsKKworCS8qCisJICogSW5zZXJ0IGEgbGVmdG92ZXIgZm9yIGVhY2ggdmFsdWUg cmV0dXJuZWQgYnkgdGhlIHdpdGhvdXRfcG9ydGlvbiBoZWxwZXIKKwkgKiBmdW5jdGlvbgorCSAq LworCXdoaWxlICh0cnVlKQorCXsKKwkJRGF0dW0JCWxlZnRvdmVyID0gRnVuY3Rpb25DYWxsSW52 b2tlKGZjaW5mbyk7CisKKwkJLyogQXJlIHdlIGRvbmU/ICovCisJCWlmIChyc2kuaXNEb25lID09 IEV4cHJFbmRSZXN1bHQpCisJCQlicmVhazsKKworCQlpZiAoZmNpbmZvLT5pc251bGwpCisJCQll bG9nKEVSUk9SLCAiR290IGEgbnVsbCBmcm9tIHdpdGhvdXRfcG9ydGlvbiBmdW5jdGlvbiIpOwor CisJCWlmICghZGlkSW5pdCkKKwkJeworCQkJLyoKKwkJCSAqIE1ha2UgYSBjb3B5IG9mIHRoZSBw cmUtVVBEQVRFIHJvdy4gVGhlbiB3ZSdsbCBvdmVyd3JpdGUgdGhlCisJCQkgKiByYW5nZSBjb2x1 bW4gYmVsb3cuIENvbnZlcnQgb2xkdHVwbGUgdG8gdGhlIGJhc2UgdGFibGUncyBmb3JtYXQKKwkJ CSAqIGlmIG5lY2Vzc2FyeS4gV2UgbmVlZCB0byBpbnNlcnQgdGVtcG9yYWwgbGVmdG92ZXJzIHRo cm91Z2ggdGhlCisJCQkgKiByb290IHBhcnRpdGlvbiBzbyB0aGV5IGdldCByb3V0ZWQgY29ycmVj dGx5LgorCQkJICovCisJCQlpZiAobWFwICE9IE5VTEwpCisJCQl7CisJCQkJbGVmdG92ZXJTbG90 ID0gZXhlY3V0ZV9hdHRyX21hcF9zbG90KG1hcC0+YXR0ck1hcCwKKwkJCQkJCQkJCQkJCQkgb2xk dHVwbGVTbG90LAorCQkJCQkJCQkJCQkJCSBsZWZ0b3ZlclNsb3QpOworCQkJfQorCQkJZWxzZQor CQkJeworCQkJCW9sZHR1cGxlID0gRXhlY0ZldGNoU2xvdEhlYXBUdXBsZShvbGR0dXBsZVNsb3Qs IGZhbHNlLCAmc2hvdWxkRnJlZSk7CisJCQkJRXhlY0ZvcmNlU3RvcmVIZWFwVHVwbGUob2xkdHVw bGUsIGxlZnRvdmVyU2xvdCwgZmFsc2UpOworCQkJfQorCisJCQkvKgorCQkJICogU2F2ZSBzb21l IG10c3RhdGUgdGhpbmdzIHNvIHdlIGNhbiByZXN0b3JlIHRoZW0gYmVsb3cuIFhYWDoKKwkJCSAq IFNob3VsZCB3ZSBjcmVhdGUgb3VyIG93biBNb2RpZnlUYWJsZVN0YXRlIGluc3RlYWQ/CisJCQkg Ki8KKwkJCW9sZE9wZXJhdGlvbiA9IG10c3RhdGUtPm9wZXJhdGlvbjsKKwkJCW10c3RhdGUtPm9w ZXJhdGlvbiA9IENNRF9JTlNFUlQ7CisJCQlvbGRUY3MgPSBtdHN0YXRlLT5tdF90cmFuc2l0aW9u X2NhcHR1cmU7CisKKwkJCWRpZEluaXQgPSB0cnVlOworCQl9CisKKwkJbGVmdG92ZXJTbG90LT50 dHNfdmFsdWVzW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBsZWZ0b3Zl cjsKKwkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxsW2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZh cmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJRXhlY01hdGVyaWFsaXplU2xvdChsZWZ0b3ZlclNsb3Qp OworCisJCS8qCisJCSAqIElmIHRoZXJlIGFyZSBwYXJ0aXRpb25zLCB3ZSBtdXN0IGluc2VydCBp bnRvIHRoZSByb290IHRhYmxlLCBzbyB3ZQorCQkgKiBnZXQgdHVwbGUgcm91dGluZy4gV2UgYWxy ZWFkeSBzZXQgdXAgbGVmdG92ZXJTbG90IHdpdGggdGhlIHJvb3QKKwkJICogdHVwbGUgZGVzY3Jp cHRvci4KKwkJICovCisJCWlmIChyZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbykK KwkJCXJlc3VsdFJlbEluZm8gPSByZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbzsK KworCQkvKgorCQkgKiBUaGUgc3RhbmRhcmQgc2F5cyB0aGF0IGVhY2ggdGVtcG9yYWwgbGVmdG92 ZXIgc2hvdWxkIGV4ZWN1dGUgaXRzCisJCSAqIG93biBJTlNFUlQgc3RhdGVtZW50LCBmaXJpbmcg YWxsIHN0YXRlbWVudCBhbmQgcm93IHRyaWdnZXJzLCBidXQKKwkJICogc2tpcHBpbmcgaW5zZXJ0 IHBlcm1pc3Npb24gY2hlY2tzLiBUaGVyZWZvcmUgd2UgZ2l2ZSBlYWNoIGluc2VydAorCQkgKiBp dHMgb3duIHRyYW5zaXRpb24gdGFibGUuIElmIHdlIGp1c3QgcHVzaCAmIHBvcCBhIG5ldyB0cmln Z2VyIGxldmVsCisJCSAqIGZvciBlYWNoIGluc2VydCwgd2UgZ2V0IGV4YWN0bHkgd2hhdCB3ZSBu ZWVkLgorCQkgKi8KKwkJQWZ0ZXJUcmlnZ2VyQmVnaW5RdWVyeSgpOworCQlFeGVjU2V0dXBUcmFu c2l0aW9uQ2FwdHVyZVN0YXRlKG10c3RhdGUsIGVzdGF0ZSk7CisJCWZpcmVCU1RyaWdnZXJzKG10 c3RhdGUpOworCQlFeGVjSW5zZXJ0KGNvbnRleHQsIHJlc3VsdFJlbEluZm8sIGxlZnRvdmVyU2xv dCwgbm9kZS0+Y2FuU2V0VGFnLCBOVUxMLCBOVUxMKTsKKwkJZmlyZUFTVHJpZ2dlcnMobXRzdGF0 ZSk7CisJCUFmdGVyVHJpZ2dlckVuZFF1ZXJ5KGVzdGF0ZSk7CisJfQorCisJaWYgKGRpZEluaXQp CisJeworCQltdHN0YXRlLT5vcGVyYXRpb24gPSBvbGRPcGVyYXRpb247CisJCW10c3RhdGUtPm10 X3RyYW5zaXRpb25fY2FwdHVyZSA9IG9sZFRjczsKKworCQlpZiAoc2hvdWxkRnJlZSkKKwkJCWhl YXBfZnJlZXR1cGxlKG9sZHR1cGxlKTsKKwl9Cit9CisKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAqCQlFeGVjQmF0 Y2hJbnNlcnQKICAqCkBAIC0xNTA4LDcgKzE3MDIsOCBAQCBFeGVjRGVsZXRlQWN0KE1vZGlmeVRh YmxlQ29udGV4dCAqY29udGV4dCwgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKICAqCiAg KiBDbG9zaW5nIHN0ZXBzIG9mIHR1cGxlIGRlbGV0aW9uOyB0aGlzIGludm9rZXMgQUZURVIgRk9S IEVBQ0ggUk9XIHRyaWdnZXJzLAogICogaW5jbHVkaW5nIHRoZSBVUERBVEUgdHJpZ2dlcnMgaWYg dGhlIGRlbGV0aW9uIGlzIGJlaW5nIGRvbmUgYXMgcGFydCBvZiBhCi0gKiBjcm9zcy1wYXJ0aXRp b24gdHVwbGUgbW92ZS4KKyAqIGNyb3NzLXBhcnRpdGlvbiB0dXBsZSBtb3ZlLiBJdCBhbHNvIGlu c2VydHMgdGVtcG9yYWwgbGVmdG92ZXJzIGZyb20gYQorICogREVMRVRFIEZPUiBQT1JUSU9OIE9G LgogICovCiBzdGF0aWMgdm9pZAogRXhlY0RlbGV0ZUVwaWxvZ3VlKE1vZGlmeVRhYmxlQ29udGV4 dCAqY29udGV4dCwgUmVzdWx0UmVsSW5mbyAqcmVzdWx0UmVsSW5mbywKQEAgLTE1NDEsNiArMTcz NiwxMCBAQCBFeGVjRGVsZXRlRXBpbG9ndWUoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0LCBS ZXN1bHRSZWxJbmZvICpyZXN1bHRSZWxJbmZvLAogCQlhcl9kZWxldGVfdHJpZ190Y3MgPSBOVUxM OwogCX0KIAorCS8qIENvbXB1dGUgdGVtcG9yYWwgbGVmdG92ZXJzIGluIEZPUiBQT1JUSU9OIE9G ICovCisJaWYgKCgoTW9kaWZ5VGFibGUgKikgY29udGV4dC0+bXRzdGF0ZS0+cHMucGxhbiktPmZv clBvcnRpb25PZikKKwkJRXhlY0ZvclBvcnRpb25PZkxlZnRvdmVycyhjb250ZXh0LCBlc3RhdGUs IHJlc3VsdFJlbEluZm8sIHR1cGxlaWQpOworCiAJLyogQUZURVIgUk9XIERFTEVURSBUcmlnZ2Vy cyAqLwogCUV4ZWNBUkRlbGV0ZVRyaWdnZXJzKGVzdGF0ZSwgcmVzdWx0UmVsSW5mbywgdHVwbGVp ZCwgb2xkdHVwbGUsCiAJCQkJCQkgYXJfZGVsZXRlX3RyaWdfdGNzLCBjaGFuZ2luZ1BhcnQpOwpA QCAtMTk2Niw3ICsyMTY1LDEwIEBAIEV4ZWNDcm9zc1BhcnRpdGlvblVwZGF0ZShNb2RpZnlUYWJs ZUNvbnRleHQgKmNvbnRleHQsCiAJaWYgKHJlc3VsdFJlbEluZm8gPT0gbXRzdGF0ZS0+cm9vdFJl c3VsdFJlbEluZm8pCiAJCUV4ZWNQYXJ0aXRpb25DaGVja0VtaXRFcnJvcihyZXN1bHRSZWxJbmZv LCBzbG90LCBlc3RhdGUpOwogCi0JLyogSW5pdGlhbGl6ZSB0dXBsZSByb3V0aW5nIGluZm8gaWYg bm90IGFscmVhZHkgZG9uZS4gKi8KKwkvKgorCSAqIEluaXRpYWxpemUgdHVwbGUgcm91dGluZyBp bmZvIGlmIG5vdCBhbHJlYWR5IGRvbmUuIE5vdGUgd2hhdGV2ZXIgd2UgZG8KKwkgKiBoZXJlIG11 c3QgYmUgZG9uZSBpbiBFeGVjSW5pdE1vZGlmeVRhYmxlIGZvciBGT1IgUE9SVElPTiBPRiBhcyB3 ZWxsLgorCSAqLwogCWlmIChtdHN0YXRlLT5tdF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9PSBO VUxMKQogCXsKIAkJUmVsYXRpb24Jcm9vdFJlbCA9IG10c3RhdGUtPnJvb3RSZXN1bHRSZWxJbmZv LT5yaV9SZWxhdGlvbkRlc2M7CkBAIC0yMzE1LDcgKzI1MTcsOCBAQCBscmVwbGFjZToKICAqIEV4 ZWNVcGRhdGVFcGlsb2d1ZSAtLSBzdWJyb3V0aW5lIGZvciBFeGVjVXBkYXRlCiAgKgogICogQ2xv c2luZyBzdGVwcyBvZiB1cGRhdGluZyBhIHR1cGxlLiAgTXVzdCBiZSBjYWxsZWQgaWYgRXhlY1Vw ZGF0ZUFjdAotICogcmV0dXJucyBpbmRpY2F0aW5nIHRoYXQgdGhlIHR1cGxlIHdhcyB1cGRhdGVk LgorICogcmV0dXJucyBpbmRpY2F0aW5nIHRoYXQgdGhlIHR1cGxlIHdhcyB1cGRhdGVkLiBJdCBh bHNvIGluc2VydHMgdGVtcG9yYWwKKyAqIGxlZnRvdmVycyBmcm9tIGFuIFVQREFURSBGT1IgUE9S VElPTiBPRi4KICAqLwogc3RhdGljIHZvaWQKIEV4ZWNVcGRhdGVFcGlsb2d1ZShNb2RpZnlUYWJs ZUNvbnRleHQgKmNvbnRleHQsIFVwZGF0ZUNvbnRleHQgKnVwZGF0ZUN4dCwKQEAgLTIzMzMsNiAr MjUzNiwxMCBAQCBFeGVjVXBkYXRlRXBpbG9ndWUoTW9kaWZ5VGFibGVDb250ZXh0ICpjb250ZXh0 LCBVcGRhdGVDb250ZXh0ICp1cGRhdGVDeHQsCiAJCQkJCQkJCQkJCSAgIE5VTEwsIE5JTCwKIAkJ CQkJCQkJCQkJICAgKHVwZGF0ZUN4dC0+dXBkYXRlSW5kZXhlcyA9PSBUVV9TdW1tYXJpemluZykp OwogCisJLyogQ29tcHV0ZSB0ZW1wb3JhbCBsZWZ0b3ZlcnMgaW4gRk9SIFBPUlRJT04gT0YgKi8K KwlpZiAoKChNb2RpZnlUYWJsZSAqKSBjb250ZXh0LT5tdHN0YXRlLT5wcy5wbGFuKS0+Zm9yUG9y dGlvbk9mKQorCQlFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzKGNvbnRleHQsIGNvbnRleHQtPmVz dGF0ZSwgcmVzdWx0UmVsSW5mbywgdHVwbGVpZCk7CisKIAkvKiBBRlRFUiBST1cgVVBEQVRFIFRy aWdnZXJzICovCiAJRXhlY0FSVXBkYXRlVHJpZ2dlcnMoY29udGV4dC0+ZXN0YXRlLCByZXN1bHRS ZWxJbmZvLAogCQkJCQkJIE5VTEwsIE5VTEwsCkBAIC01MDYyLDYgKzUyNjksMTIyIEBAIEV4ZWNJ bml0TW9kaWZ5VGFibGUoTW9kaWZ5VGFibGUgKm5vZGUsIEVTdGF0ZSAqZXN0YXRlLCBpbnQgZWZs YWdzKQogCQl9CiAJfQogCisJLyoKKwkgKiBJZiBuZWVkZWQsIGluaXRpYWxpemUgdGhlIHRhcmdl dCByYW5nZSBmb3IgRk9SIFBPUlRJT04gT0YuCisJICovCisJaWYgKG5vZGUtPmZvclBvcnRpb25P ZikKKwl7CisJCVJlc3VsdFJlbEluZm8gKnJvb3RSZXN1bHRSZWxJbmZvOworCQlUdXBsZURlc2MJ dHVwRGVzYzsKKwkJRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9ydGlvbk9mOworCQlEYXR1bQkJdGFy Z2V0UmFuZ2U7CisJCWJvb2wJCWlzTnVsbDsKKwkJRXhwckNvbnRleHQgKmVjb250ZXh0OworCQlF eHByU3RhdGUgICpleHByU3RhdGU7CisJCUZvclBvcnRpb25PZlN0YXRlICpmcG9TdGF0ZTsKKwor CQlyb290UmVzdWx0UmVsSW5mbyA9IG10c3RhdGUtPnJlc3VsdFJlbEluZm87CisJCWlmIChyb290 UmVzdWx0UmVsSW5mby0+cmlfUm9vdFJlc3VsdFJlbEluZm8pCisJCQlyb290UmVzdWx0UmVsSW5m byA9IHJvb3RSZXN1bHRSZWxJbmZvLT5yaV9Sb290UmVzdWx0UmVsSW5mbzsKKworCQl0dXBEZXNj ID0gcm9vdFJlc3VsdFJlbEluZm8tPnJpX1JlbGF0aW9uRGVzYy0+cmRfYXR0OworCQlmb3JQb3J0 aW9uT2YgPSAoRm9yUG9ydGlvbk9mRXhwciAqKSBub2RlLT5mb3JQb3J0aW9uT2Y7CisKKwkJLyog RXZhbCB0aGUgRk9SIFBPUlRJT04gT0YgdGFyZ2V0ICovCisJCWlmIChtdHN0YXRlLT5wcy5wc19F eHByQ29udGV4dCA9PSBOVUxMKQorCQkJRXhlY0Fzc2lnbkV4cHJDb250ZXh0KGVzdGF0ZSwgJm10 c3RhdGUtPnBzKTsKKwkJZWNvbnRleHQgPSBtdHN0YXRlLT5wcy5wc19FeHByQ29udGV4dDsKKwor CQlleHByU3RhdGUgPSBFeGVjUHJlcGFyZUV4cHIoKEV4cHIgKikgZm9yUG9ydGlvbk9mLT50YXJn ZXRSYW5nZSwgZXN0YXRlKTsKKwkJdGFyZ2V0UmFuZ2UgPSBFeGVjRXZhbEV4cHIoZXhwclN0YXRl LCBlY29udGV4dCwgJmlzTnVsbCk7CisJCWlmIChpc051bGwpCisJCQllbG9nKEVSUk9SLCAiR290 IGEgTlVMTCBGT1IgUE9SVElPTiBPRiB0YXJnZXQgcmFuZ2UiKTsKKworCQkvKiBDcmVhdGUgc3Rh dGUgZm9yIEZPUiBQT1JUSU9OIE9GIG9wZXJhdGlvbiAqLworCisJCWZwb1N0YXRlID0gbWFrZU5v ZGUoRm9yUG9ydGlvbk9mU3RhdGUpOworCQlmcG9TdGF0ZS0+ZnBfcmFuZ2VOYW1lID0gZm9yUG9y dGlvbk9mLT5yYW5nZV9uYW1lOworCQlmcG9TdGF0ZS0+ZnBfcmFuZ2VUeXBlID0gZm9yUG9ydGlv bk9mLT5yYW5nZVR5cGU7CisJCWZwb1N0YXRlLT5mcF9yYW5nZUF0dG5vID0gZm9yUG9ydGlvbk9m LT5yYW5nZVZhci0+dmFyYXR0bm87CisJCWZwb1N0YXRlLT5mcF90YXJnZXRSYW5nZSA9IHRhcmdl dFJhbmdlOworCisJCS8qIEluaXRpYWxpemUgc2xvdCBmb3IgdGhlIGV4aXN0aW5nIHR1cGxlICov CisKKwkJZnBvU3RhdGUtPmZwX0V4aXN0aW5nID0KKwkJCXRhYmxlX3Nsb3RfY3JlYXRlKHJvb3RS ZXN1bHRSZWxJbmZvLT5yaV9SZWxhdGlvbkRlc2MsCisJCQkJCQkJICAmbXRzdGF0ZS0+cHMuc3Rh dGUtPmVzX3R1cGxlVGFibGUpOworCisJCS8qIENyZWF0ZSB0aGUgdHVwbGUgc2xvdCBmb3IgSU5T RVJUaW5nIHRoZSB0ZW1wb3JhbCBsZWZ0b3ZlcnMgKi8KKworCQlmcG9TdGF0ZS0+ZnBfTGVmdG92 ZXIgPQorCQkJRXhlY0luaXRFeHRyYVR1cGxlU2xvdChtdHN0YXRlLT5wcy5zdGF0ZSwgdHVwRGVz YywgJlRUU09wc1ZpcnR1YWwpOworCisJCS8qCisJCSAqIFdlIG11c3QgYXR0YWNoIHRoZSBGb3JQ b3J0aW9uT2ZTdGF0ZSB0byBhbGwgcmVzdWx0IHJlbHMsIGluIGNhc2Ugb2YKKwkJICogYSBjcm9z cy1wYXJ0aXRpb24gdXBkYXRlIG9yIHRyaWdnZXJzIGZpcmluZyBvbiBwYXJ0aXRpb25zLiBYWFg6 IENhbgorCQkgKiB3ZSBkZWZlciB0aGlzIHRvIG9ubHkgdGhlIGxlYWZzIHdlIHRvdWNoPworCQkg Ki8KKwkJZm9yIChpID0gMDsgaSA8IG5yZWxzOyBpKyspCisJCXsKKwkJCUZvclBvcnRpb25PZlN0 YXRlICpsZWFmU3RhdGU7CisKKwkJCXJlc3VsdFJlbEluZm8gPSAmbXRzdGF0ZS0+cmVzdWx0UmVs SW5mb1tpXTsKKworCQkJbGVhZlN0YXRlID0gbWFrZU5vZGUoRm9yUG9ydGlvbk9mU3RhdGUpOwor CQkJbGVhZlN0YXRlLT5mcF9yYW5nZU5hbWUgPSBmcG9TdGF0ZS0+ZnBfcmFuZ2VOYW1lOworCQkJ bGVhZlN0YXRlLT5mcF9yYW5nZVR5cGUgPSBmcG9TdGF0ZS0+ZnBfcmFuZ2VUeXBlOworCQkJbGVh ZlN0YXRlLT5mcF9yYW5nZUF0dG5vID0gZnBvU3RhdGUtPmZwX3JhbmdlQXR0bm87CisJCQlsZWFm U3RhdGUtPmZwX3RhcmdldFJhbmdlID0gZnBvU3RhdGUtPmZwX3RhcmdldFJhbmdlOworCQkJbGVh ZlN0YXRlLT5mcF9MZWZ0b3ZlciA9IGZwb1N0YXRlLT5mcF9MZWZ0b3ZlcjsKKwkJCS8qIEVhY2gg cGFydGl0aW9uIG5lZWRzIGEgc2xvdCBtYXRjaGluZyBpdHMgdHVwbGUgZGVzY3JpcHRvciAqLwor CQkJbGVhZlN0YXRlLT5mcF9FeGlzdGluZyA9CisJCQkJdGFibGVfc2xvdF9jcmVhdGUocmVzdWx0 UmVsSW5mby0+cmlfUmVsYXRpb25EZXNjLAorCQkJCQkJCQkgICZtdHN0YXRlLT5wcy5zdGF0ZS0+ ZXNfdHVwbGVUYWJsZSk7CisKKwkJCXJlc3VsdFJlbEluZm8tPnJpX2ZvclBvcnRpb25PZiA9IGxl YWZTdGF0ZTsKKwkJfQorCisJCS8qIE1ha2Ugc3VyZSB0aGUgcm9vdCByZWxhdGlvbiBoYXMgdGhl IEZPUiBQT1JUSU9OIE9GIGNsYXVzZSB0b28uICovCisJCWlmIChub2RlLT5yb290UmVsYXRpb24g PiAwKQorCQkJbXRzdGF0ZS0+cm9vdFJlc3VsdFJlbEluZm8tPnJpX2ZvclBvcnRpb25PZiA9IGZw b1N0YXRlOworCisJCWlmIChyZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElP TkVEX1RBQkxFICYmCisJCQltdHN0YXRlLT5tdF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9PSBO VUxMKQorCQl7CisJCQkvKgorCQkJICogV2Ugd2lsbCBuZWVkIHR1cGxlIHJvdXRpbmcgdG8gaW5z ZXJ0IHRlbXBvcmFsIGxlZnRvdmVycy4gU2luY2UKKwkJCSAqIHdlIGFyZSBpbml0aWFsaXppbmcg dGhpbmdzIGJlZm9yZSBFeGVjQ3Jvc3NQYXJ0aXRpb25VcGRhdGUKKwkJCSAqIHJ1bnMsIHdlIG11 c3QgZG8gZXZlcnl0aGluZyBpdCBuZWVkcyBhcyB3ZWxsLgorCQkJICovCisJCQlpZiAobXRzdGF0 ZS0+bXRfcGFydGl0aW9uX3R1cGxlX3JvdXRpbmcgPT0gTlVMTCkKKwkJCXsKKwkJCQlSZWxhdGlv bglyb290UmVsID0gbXRzdGF0ZS0+cm9vdFJlc3VsdFJlbEluZm8tPnJpX1JlbGF0aW9uRGVzYzsK KwkJCQlNZW1vcnlDb250ZXh0IG9sZGN4dDsKKworCQkJCS8qIFRoaW5ncyBidWlsdCBoZXJlIGhh dmUgdG8gbGFzdCBmb3IgdGhlIHF1ZXJ5IGR1cmF0aW9uLiAqLworCQkJCW9sZGN4dCA9IE1lbW9y eUNvbnRleHRTd2l0Y2hUbyhlc3RhdGUtPmVzX3F1ZXJ5X2N4dCk7CisKKwkJCQltdHN0YXRlLT5t dF9wYXJ0aXRpb25fdHVwbGVfcm91dGluZyA9CisJCQkJCUV4ZWNTZXR1cFBhcnRpdGlvblR1cGxl Um91dGluZyhlc3RhdGUsIHJvb3RSZWwpOworCisJCQkJLyoKKwkJCQkgKiBCZWZvcmUgYSBwYXJ0 aXRpb24ncyB0dXBsZSBjYW4gYmUgcmUtcm91dGVkLCBpdCBtdXN0IGZpcnN0CisJCQkJICogYmUg Y29udmVydGVkIHRvIHRoZSByb290J3MgZm9ybWF0LCBzbyB3ZSdsbCBuZWVkIGEgc2xvdCBmb3IK KwkJCQkgKiBzdG9yaW5nIHN1Y2ggdHVwbGVzLgorCQkJCSAqLworCQkJCUFzc2VydChtdHN0YXRl LT5tdF9yb290X3R1cGxlX3Nsb3QgPT0gTlVMTCk7CisJCQkJbXRzdGF0ZS0+bXRfcm9vdF90dXBs ZV9zbG90ID0gdGFibGVfc2xvdF9jcmVhdGUocm9vdFJlbCwgTlVMTCk7CisKKwkJCQlNZW1vcnlD b250ZXh0U3dpdGNoVG8ob2xkY3h0KTsKKwkJCX0KKwkJfQorCisJCS8qCisJCSAqIERvbid0IGZy ZWUgdGhlIEV4cHJDb250ZXh0IGhlcmUgYmVjYXVzZSB0aGUgcmVzdWx0IG11c3QgbGFzdCBmb3IK KwkJICogdGhlIHdob2xlIHF1ZXJ5CisJCSAqLworCX0KKwogCS8qCiAJICogSWYgd2UgaGF2ZSBh bnkgc2Vjb25kYXJ5IHJlbGF0aW9ucyBpbiBhbiBVUERBVEUgb3IgREVMRVRFLCB0aGV5IG5lZWQg dG8KIAkgKiBiZSB0cmVhdGVkIGxpa2Ugbm9uLWxvY2tlZCByZWxhdGlvbnMgaW4gU0VMRUNUIEZP UiBVUERBVEUsIGkuZS4sIHRoZQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1 bmNzLmMgYi9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwppbmRleCBlZGU4MzhjZDQwYy4u ZTQwZThlZWNmNzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCisr KyBiL3NyYy9iYWNrZW5kL25vZGVzL25vZGVGdW5jcy5jCkBAIC0yNTY3LDYgKzI1NjcsMTQgQEAg ZXhwcmVzc2lvbl90cmVlX3dhbGtlcl9pbXBsKE5vZGUgKm5vZGUsCiAJCQkJCXJldHVybiB0cnVl OwogCQkJfQogCQkJYnJlYWs7CisJCWNhc2UgVF9Gb3JQb3J0aW9uT2ZFeHByOgorCQkJeworCQkJ CUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiA9IChGb3JQb3J0aW9uT2ZFeHByICopIG5v ZGU7CisKKwkJCQlpZiAoV0FMSyhmb3JQb3J0aW9uT2YtPnRhcmdldFJhbmdlKSkKKwkJCQkJcmV0 dXJuIHRydWU7CisJCQl9CisJCQlicmVhazsKIAkJY2FzZSBUX1BhcnRpdGlvblBydW5lU3RlcE9w OgogCQkJewogCQkJCVBhcnRpdGlvblBydW5lU3RlcE9wICpvcHN0ZXAgPSAoUGFydGl0aW9uUHJ1 bmVTdGVwT3AgKikgbm9kZTsKQEAgLTI3MTUsNiArMjcyMyw4IEBAIHF1ZXJ5X3RyZWVfd2Fsa2Vy X2ltcGwoUXVlcnkgKnF1ZXJ5LAogCQlyZXR1cm4gdHJ1ZTsKIAlpZiAoV0FMSyhxdWVyeS0+bWVy Z2VKb2luQ29uZGl0aW9uKSkKIAkJcmV0dXJuIHRydWU7CisJaWYgKFdBTEsocXVlcnktPmZvclBv cnRpb25PZikpCisJCXJldHVybiB0cnVlOwogCWlmIChXQUxLKHF1ZXJ5LT5yZXR1cm5pbmdMaXN0 KSkKIAkJcmV0dXJuIHRydWU7CiAJaWYgKFdBTEsocXVlcnktPmpvaW50cmVlKSkKQEAgLTM2MDks NiArMzYxOSwxOSBAQCBleHByZXNzaW9uX3RyZWVfbXV0YXRvcl9pbXBsKE5vZGUgKm5vZGUsCiAJ CQkJcmV0dXJuIChOb2RlICopIG5ld25vZGU7CiAJCQl9CiAJCQlicmVhazsKKwkJY2FzZSBUX0Zv clBvcnRpb25PZkV4cHI6CisJCQl7CisJCQkJRm9yUG9ydGlvbk9mRXhwciAqZnBvID0gKEZvclBv cnRpb25PZkV4cHIgKikgbm9kZTsKKwkJCQlGb3JQb3J0aW9uT2ZFeHByICpuZXdub2RlOworCisJ CQkJRkxBVENPUFkobmV3bm9kZSwgZnBvLCBGb3JQb3J0aW9uT2ZFeHByKTsKKwkJCQlNVVRBVEUo bmV3bm9kZS0+cmFuZ2VWYXIsIGZwby0+cmFuZ2VWYXIsIFZhciAqKTsKKwkJCQlNVVRBVEUobmV3 bm9kZS0+dGFyZ2V0UmFuZ2UsIGZwby0+dGFyZ2V0UmFuZ2UsIE5vZGUgKik7CisJCQkJTVVUQVRF KG5ld25vZGUtPnJhbmdlVGFyZ2V0TGlzdCwgZnBvLT5yYW5nZVRhcmdldExpc3QsIExpc3QgKik7 CisKKwkJCQlyZXR1cm4gKE5vZGUgKikgbmV3bm9kZTsKKwkJCX0KKwkJCWJyZWFrOwogCQljYXNl IFRfUGFydGl0aW9uUHJ1bmVTdGVwT3A6CiAJCQl7CiAJCQkJUGFydGl0aW9uUHJ1bmVTdGVwT3Ag Km9wc3RlcCA9IChQYXJ0aXRpb25QcnVuZVN0ZXBPcCAqKSBub2RlOwpAQCAtMzc5MCw2ICszODEz LDcgQEAgcXVlcnlfdHJlZV9tdXRhdG9yX2ltcGwoUXVlcnkgKnF1ZXJ5LAogCU1VVEFURShxdWVy eS0+b25Db25mbGljdCwgcXVlcnktPm9uQ29uZmxpY3QsIE9uQ29uZmxpY3RFeHByICopOwogCU1V VEFURShxdWVyeS0+bWVyZ2VBY3Rpb25MaXN0LCBxdWVyeS0+bWVyZ2VBY3Rpb25MaXN0LCBMaXN0 ICopOwogCU1VVEFURShxdWVyeS0+bWVyZ2VKb2luQ29uZGl0aW9uLCBxdWVyeS0+bWVyZ2VKb2lu Q29uZGl0aW9uLCBOb2RlICopOworCU1VVEFURShxdWVyeS0+Zm9yUG9ydGlvbk9mLCBxdWVyeS0+ Zm9yUG9ydGlvbk9mLCBGb3JQb3J0aW9uT2ZFeHByICopOwogCU1VVEFURShxdWVyeS0+cmV0dXJu aW5nTGlzdCwgcXVlcnktPnJldHVybmluZ0xpc3QsIExpc3QgKik7CiAJTVVUQVRFKHF1ZXJ5LT5q b2ludHJlZSwgcXVlcnktPmpvaW50cmVlLCBGcm9tRXhwciAqKTsKIAlNVVRBVEUocXVlcnktPnNl dE9wZXJhdGlvbnMsIHF1ZXJ5LT5zZXRPcGVyYXRpb25zLCBOb2RlICopOwpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jIGIvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jCmluZGV4IGM5ZGJhN2ZmMzQ2Li5mZDQ4ZGU0NDlmNiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxhbi5jCisrKyBi L3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL2NyZWF0ZXBsYW4uYwpAQCAtMzE3LDcgKzMxNyw3 IEBAIHN0YXRpYyBNb2RpZnlUYWJsZSAqbWFrZV9tb2RpZnl0YWJsZShQbGFubmVySW5mbyAqcm9v dCwgUGxhbiAqc3VicGxhbiwKIAkJCQkJCQkJCSBMaXN0ICp3aXRoQ2hlY2tPcHRpb25MaXN0cywg TGlzdCAqcmV0dXJuaW5nTGlzdHMsCiAJCQkJCQkJCQkgTGlzdCAqcm93TWFya3MsIE9uQ29uZmxp Y3RFeHByICpvbmNvbmZsaWN0LAogCQkJCQkJCQkJIExpc3QgKm1lcmdlQWN0aW9uTGlzdHMsIExp c3QgKm1lcmdlSm9pbkNvbmRpdGlvbnMsCi0JCQkJCQkJCQkgaW50IGVwcVBhcmFtKTsKKwkJCQkJ CQkJCSBGb3JQb3J0aW9uT2ZFeHByICpmb3JQb3J0aW9uT2YsIGludCBlcHFQYXJhbSk7CiBzdGF0 aWMgR2F0aGVyTWVyZ2UgKmNyZWF0ZV9nYXRoZXJfbWVyZ2VfcGxhbihQbGFubmVySW5mbyAqcm9v dCwKIAkJCQkJCQkJCQkJIEdhdGhlck1lcmdlUGF0aCAqYmVzdF9wYXRoKTsKIApAQCAtMjY4NSw2 ICsyNjg1LDcgQEAgY3JlYXRlX21vZGlmeXRhYmxlX3BsYW4oUGxhbm5lckluZm8gKnJvb3QsIE1v ZGlmeVRhYmxlUGF0aCAqYmVzdF9wYXRoKQogCQkJCQkJCWJlc3RfcGF0aC0+b25jb25mbGljdCwK IAkJCQkJCQliZXN0X3BhdGgtPm1lcmdlQWN0aW9uTGlzdHMsCiAJCQkJCQkJYmVzdF9wYXRoLT5t ZXJnZUpvaW5Db25kaXRpb25zLAorCQkJCQkJCWJlc3RfcGF0aC0+Zm9yUG9ydGlvbk9mLAogCQkJ CQkJCWJlc3RfcGF0aC0+ZXBxUGFyYW0pOwogCiAJY29weV9nZW5lcmljX3BhdGhfaW5mbygmcGxh bi0+cGxhbiwgJmJlc3RfcGF0aC0+cGF0aCk7CkBAIC03MDE2LDcgKzcwMTcsNyBAQCBtYWtlX21v ZGlmeXRhYmxlKFBsYW5uZXJJbmZvICpyb290LCBQbGFuICpzdWJwbGFuLAogCQkJCSBMaXN0ICp3 aXRoQ2hlY2tPcHRpb25MaXN0cywgTGlzdCAqcmV0dXJuaW5nTGlzdHMsCiAJCQkJIExpc3QgKnJv d01hcmtzLCBPbkNvbmZsaWN0RXhwciAqb25jb25mbGljdCwKIAkJCQkgTGlzdCAqbWVyZ2VBY3Rp b25MaXN0cywgTGlzdCAqbWVyZ2VKb2luQ29uZGl0aW9ucywKLQkJCQkgaW50IGVwcVBhcmFtKQor CQkJCSBGb3JQb3J0aW9uT2ZFeHByICpmb3JQb3J0aW9uT2YsIGludCBlcHFQYXJhbSkKIHsKIAlN b2RpZnlUYWJsZSAqbm9kZSA9IG1ha2VOb2RlKE1vZGlmeVRhYmxlKTsKIAlib29sCQlyZXR1cm5p bmdfb2xkX29yX25ldyA9IGZhbHNlOwpAQCAtNzA4Niw2ICs3MDg3LDcgQEAgbWFrZV9tb2RpZnl0 YWJsZShQbGFubmVySW5mbyAqcm9vdCwgUGxhbiAqc3VicGxhbiwKIAkJbm9kZS0+ZXhjbFJlbFRs aXN0ID0gb25jb25mbGljdC0+ZXhjbFJlbFRsaXN0OwogCX0KIAlub2RlLT51cGRhdGVDb2xub3NM aXN0cyA9IHVwZGF0ZUNvbG5vc0xpc3RzOworCW5vZGUtPmZvclBvcnRpb25PZiA9IChOb2RlICop IGZvclBvcnRpb25PZjsKIAlub2RlLT53aXRoQ2hlY2tPcHRpb25MaXN0cyA9IHdpdGhDaGVja09w dGlvbkxpc3RzOwogCW5vZGUtPnJldHVybmluZ09sZEFsaWFzID0gcm9vdC0+cGFyc2UtPnJldHVy bmluZ09sZEFsaWFzOwogCW5vZGUtPnJldHVybmluZ05ld0FsaWFzID0gcm9vdC0+cGFyc2UtPnJl dHVybmluZ05ld0FsaWFzOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4v cGxhbm5lci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcGxhbm5lci5jCmluZGV4IGU4 ZWE3OGMwYzk3Li45MTQ4YjlkOWVjNiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3BsYW4vcGxhbm5lci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3BsYW5uZXIu YwpAQCAtMjEzNiw2ICsyMTM2LDcgQEAgZ3JvdXBpbmdfcGxhbm5lcihQbGFubmVySW5mbyAqcm9v dCwgZG91YmxlIHR1cGxlX2ZyYWN0aW9uLAogCQkJCQkJCQkJCXBhcnNlLT5vbkNvbmZsaWN0LAog CQkJCQkJCQkJCW1lcmdlQWN0aW9uTGlzdHMsCiAJCQkJCQkJCQkJbWVyZ2VKb2luQ29uZGl0aW9u cywKKwkJCQkJCQkJCQlwYXJzZS0+Zm9yUG9ydGlvbk9mLAogCQkJCQkJCQkJCWFzc2lnbl9zcGVj aWFsX2V4ZWNfcGFyYW0ocm9vdCkpOwogCQl9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29w dGltaXplci91dGlsL3BhdGhub2RlLmMgYi9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvdXRpbC9wYXRo bm9kZS5jCmluZGV4IGJjYTUxYjQwNjdiLi40ZTAwNmZiNzA2MCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvb3B0aW1pemVyL3V0aWwvcGF0aG5vZGUuYworKysgYi9zcmMvYmFja2VuZC9vcHRpbWl6 ZXIvdXRpbC9wYXRobm9kZS5jCkBAIC0zNjM2LDcgKzM2MzYsNyBAQCBjcmVhdGVfbW9kaWZ5dGFi bGVfcGF0aChQbGFubmVySW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAogCQkJCQkJTGlzdCAq d2l0aENoZWNrT3B0aW9uTGlzdHMsIExpc3QgKnJldHVybmluZ0xpc3RzLAogCQkJCQkJTGlzdCAq cm93TWFya3MsIE9uQ29uZmxpY3RFeHByICpvbmNvbmZsaWN0LAogCQkJCQkJTGlzdCAqbWVyZ2VB Y3Rpb25MaXN0cywgTGlzdCAqbWVyZ2VKb2luQ29uZGl0aW9ucywKLQkJCQkJCWludCBlcHFQYXJh bSkKKwkJCQkJCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZiwgaW50IGVwcVBhcmFtKQog ewogCU1vZGlmeVRhYmxlUGF0aCAqcGF0aG5vZGUgPSBtYWtlTm9kZShNb2RpZnlUYWJsZVBhdGgp OwogCkBAIC0zNzAzLDYgKzM3MDMsNyBAQCBjcmVhdGVfbW9kaWZ5dGFibGVfcGF0aChQbGFubmVy SW5mbyAqcm9vdCwgUmVsT3B0SW5mbyAqcmVsLAogCXBhdGhub2RlLT5yZXR1cm5pbmdMaXN0cyA9 IHJldHVybmluZ0xpc3RzOwogCXBhdGhub2RlLT5yb3dNYXJrcyA9IHJvd01hcmtzOwogCXBhdGhu b2RlLT5vbmNvbmZsaWN0ID0gb25jb25mbGljdDsKKwlwYXRobm9kZS0+Zm9yUG9ydGlvbk9mID0g Zm9yUG9ydGlvbk9mOwogCXBhdGhub2RlLT5lcHFQYXJhbSA9IGVwcVBhcmFtOwogCXBhdGhub2Rl LT5tZXJnZUFjdGlvbkxpc3RzID0gbWVyZ2VBY3Rpb25MaXN0czsKIAlwYXRobm9kZS0+bWVyZ2VK b2luQ29uZGl0aW9ucyA9IG1lcmdlSm9pbkNvbmRpdGlvbnM7CmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9wYXJzZXIvYW5hbHl6ZS5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwppbmRl eCAzYjM5MmIwODRhZC4uNjg5MGE2N2ZiM2MgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNl ci9hbmFseXplLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwpAQCAtMjQsNyAr MjQsMTAgQEAKIAogI2luY2x1ZGUgInBvc3RncmVzLmgiCiAKKyNpbmNsdWRlICJhY2Nlc3Mvc3Ry YXRudW0uaCIKICNpbmNsdWRlICJhY2Nlc3Mvc3lzYXR0ci5oIgorI2luY2x1ZGUgImNhdGFsb2cv cGdfYW0uaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ19wcm9jLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5jbHVkZSAi Y29tbWFuZHMvZGVmcmVtLmgiCkBAIC01MCw3ICs1Myw5IEBACiAjaW5jbHVkZSAicGFyc2VyL3Bh cnNldHJlZS5oIgogI2luY2x1ZGUgInV0aWxzL2JhY2tlbmRfc3RhdHVzLmgiCiAjaW5jbHVkZSAi dXRpbHMvYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgogI2luY2x1ZGUg InV0aWxzL2d1Yy5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0 aWxzL3JlbC5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCiAKQEAgLTY3LDEwICs3Miwx NiBAQCB0eXBlZGVmIHN0cnVjdCBTZWxlY3RTdG10UGFzc3Rocm91Z2gKIHBvc3RfcGFyc2VfYW5h bHl6ZV9ob29rX3R5cGUgcG9zdF9wYXJzZV9hbmFseXplX2hvb2sgPSBOVUxMOwogCiBzdGF0aWMg UXVlcnkgKnRyYW5zZm9ybU9wdGlvbmFsU2VsZWN0SW50byhQYXJzZVN0YXRlICpwc3RhdGUsIE5v ZGUgKnBhcnNlVHJlZSk7CitzdGF0aWMgTm9kZSAqYWRkRm9yUG9ydGlvbk9mV2hlcmVDb25kaXRp b25zKFF1ZXJ5ICpxcnksIEZvclBvcnRpb25PZkNsYXVzZSAqZm9yUG9ydGlvbk9mLAorCQkJCQkJ CQkJCQlOb2RlICp3aGVyZUNsYXVzZSk7CiBzdGF0aWMgUXVlcnkgKnRyYW5zZm9ybURlbGV0ZVN0 bXQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBEZWxldGVTdG10ICpzdG10KTsKIHN0YXRpYyBRdWVyeSAq dHJhbnNmb3JtSW5zZXJ0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIEluc2VydFN0bXQgKnN0bXQp Owogc3RhdGljIE9uQ29uZmxpY3RFeHByICp0cmFuc2Zvcm1PbkNvbmZsaWN0Q2xhdXNlKFBhcnNl U3RhdGUgKnBzdGF0ZSwKIAkJCQkJCQkJCQkJCSBPbkNvbmZsaWN0Q2xhdXNlICpvbkNvbmZsaWN0 Q2xhdXNlKTsKK3N0YXRpYyBGb3JQb3J0aW9uT2ZFeHByICp0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZD bGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAorCQkJCQkJCQkJCQkJCSBpbnQgcnRpbmRleCwKKwkJ CQkJCQkJCQkJCQkgRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQb3J0aW9uT2ZDbGF1c2UsCisJCQkJ CQkJCQkJCQkJIGJvb2wgaXNVcGRhdGUpOwogc3RhdGljIGludAljb3VudF9yb3dleHByX2NvbHVt bnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpleHByKTsKIHN0YXRpYyBRdWVyeSAqdHJhbnNm b3JtU2VsZWN0U3RtdChQYXJzZVN0YXRlICpwc3RhdGUsIFNlbGVjdFN0bXQgKnN0bXQsCiAJCQkJ CQkJCSAgU2VsZWN0U3RtdFBhc3N0aHJvdWdoICpwYXNzdGhydSk7CkBAIC00OTMsNiArNTA0LDIw IEBAIHN0bXRfcmVxdWlyZXNfcGFyc2VfYW5hbHlzaXMoUmF3U3RtdCAqcGFyc2VUcmVlKQogCXJl dHVybiByZXN1bHQ7CiB9CiAKK3N0YXRpYyBOb2RlICoKK2FkZEZvclBvcnRpb25PZldoZXJlQ29u ZGl0aW9ucyhRdWVyeSAqcXJ5LCBGb3JQb3J0aW9uT2ZDbGF1c2UgKmZvclBvcnRpb25PZiwgTm9k ZSAqd2hlcmVDbGF1c2UpCit7CisJaWYgKGZvclBvcnRpb25PZikKKwl7CisJCWlmICh3aGVyZUNs YXVzZSkKKwkJCXJldHVybiAoTm9kZSAqKSBtYWtlQm9vbEV4cHIoQU5EX0VYUFIsIGxpc3RfbWFr ZTIocXJ5LT5mb3JQb3J0aW9uT2YtPm92ZXJsYXBzRXhwciwgd2hlcmVDbGF1c2UpLCAtMSk7CisJ CWVsc2UKKwkJCXJldHVybiBxcnktPmZvclBvcnRpb25PZi0+b3ZlcmxhcHNFeHByOworCX0KKwll bHNlCisJCXJldHVybiB3aGVyZUNsYXVzZTsKK30KKwogLyoKICAqIGFuYWx5emVfcmVxdWlyZXNf c25hcHNob3QKICAqCQlSZXR1cm5zIHRydWUgaWYgYSBzbmFwc2hvdCBtdXN0IGJlIHNldCBiZWZv cmUgZG9pbmcgcGFyc2UgYW5hbHlzaXMKQEAgLTU2NSw2ICs1OTAsNyBAQCB0cmFuc2Zvcm1EZWxl dGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgRGVsZXRlU3RtdCAqc3RtdCkKIHsKIAlRdWVyeQkg ICAqcXJ5ID0gbWFrZU5vZGUoUXVlcnkpOwogCVBhcnNlTmFtZXNwYWNlSXRlbSAqbnNpdGVtOwor CU5vZGUJICAgKndoZXJlQ2xhdXNlOwogCU5vZGUJICAgKnF1YWw7CiAKIAlxcnktPmNvbW1hbmRU eXBlID0gQ01EX0RFTEVURTsKQEAgLTYwMyw3ICs2MjksMTEgQEAgdHJhbnNmb3JtRGVsZXRlU3Rt dChQYXJzZVN0YXRlICpwc3RhdGUsIERlbGV0ZVN0bXQgKnN0bXQpCiAJbnNpdGVtLT5wX2xhdGVy YWxfb25seSA9IGZhbHNlOwogCW5zaXRlbS0+cF9sYXRlcmFsX29rID0gdHJ1ZTsKIAotCXF1YWwg PSB0cmFuc2Zvcm1XaGVyZUNsYXVzZShwc3RhdGUsIHN0bXQtPndoZXJlQ2xhdXNlLAorCWlmIChz dG10LT5mb3JQb3J0aW9uT2YpCisJCXFyeS0+Zm9yUG9ydGlvbk9mID0gdHJhbnNmb3JtRm9yUG9y dGlvbk9mQ2xhdXNlKHBzdGF0ZSwgcXJ5LT5yZXN1bHRSZWxhdGlvbiwgc3RtdC0+Zm9yUG9ydGlv bk9mLCBmYWxzZSk7CisKKwl3aGVyZUNsYXVzZSA9IGFkZEZvclBvcnRpb25PZldoZXJlQ29uZGl0 aW9ucyhxcnksIHN0bXQtPmZvclBvcnRpb25PZiwgc3RtdC0+d2hlcmVDbGF1c2UpOworCXF1YWwg PSB0cmFuc2Zvcm1XaGVyZUNsYXVzZShwc3RhdGUsIHdoZXJlQ2xhdXNlLAogCQkJCQkJCQlFWFBS X0tJTkRfV0hFUkUsICJXSEVSRSIpOwogCiAJdHJhbnNmb3JtUmV0dXJuaW5nQ2xhdXNlKHBzdGF0 ZSwgcXJ5LCBzdG10LT5yZXR1cm5pbmdDbGF1c2UsCkBAIC0xMjM4LDcgKzEyNjgsNyBAQCB0cmFu c2Zvcm1PbkNvbmZsaWN0Q2xhdXNlKFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJICogTm93IHRyYW5z Zm9ybSB0aGUgVVBEQVRFIHN1YmV4cHJlc3Npb25zLgogCQkgKi8KIAkJb25Db25mbGljdFNldCA9 Ci0JCQl0cmFuc2Zvcm1VcGRhdGVUYXJnZXRMaXN0KHBzdGF0ZSwgb25Db25mbGljdENsYXVzZS0+ dGFyZ2V0TGlzdCk7CisJCQl0cmFuc2Zvcm1VcGRhdGVUYXJnZXRMaXN0KHBzdGF0ZSwgb25Db25m bGljdENsYXVzZS0+dGFyZ2V0TGlzdCwgTlVMTCk7CiAKIAkJb25Db25mbGljdFdoZXJlID0gdHJh bnNmb3JtV2hlcmVDbGF1c2UocHN0YXRlLAogCQkJCQkJCQkJCQkgICBvbkNvbmZsaWN0Q2xhdXNl LT53aGVyZUNsYXVzZSwKQEAgLTEyNjgsNiArMTI5OCwxOTUgQEAgdHJhbnNmb3JtT25Db25mbGlj dENsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJcmV0dXJuIHJlc3VsdDsKIH0KIAorLyoKKyAq IHRyYW5zZm9ybUZvclBvcnRpb25PZkNsYXVzZQorICoKKyAqCSAgVHJhbnNmb3JtcyBhIEZvclBv cnRpb25PZkNsYXVzZSBpbiBhbiBVUERBVEUvREVMRVRFIHN0YXRlbWVudC4KKyAqCisgKgkgIC0g TG9vayB1cCB0aGUgcmFuZ2UvcGVyaW9kIHJlcXVlc3RlZC4KKyAqCSAgLSBCdWlsZCBhIGNvbXBh dGlibGUgcmFuZ2UgdmFsdWUgZnJvbSB0aGUgRlJPTSBhbmQgVE8gZXhwcmVzc2lvbnMuCisgKgkg IC0gQnVpbGQgYW4gIm92ZXJsYXBzIiBleHByZXNzaW9uIGZvciBmaWx0ZXJpbmcuCisgKgkgIC0g Rm9yIFVQREFURXMsIGJ1aWxkIGFuICJpbnRlcnNlY3RzIiBleHByZXNzaW9uIHRoZSByZXdyaXRl ciBjYW4gYWRkCisgKgkJdG8gdGhlIHRhcmdldExpc3QgdG8gY2hhbmdlIHRoZSB0ZW1wb3JhbCBi b3VuZHMuCisgKi8KK3N0YXRpYyBGb3JQb3J0aW9uT2ZFeHByICoKK3RyYW5zZm9ybUZvclBvcnRp b25PZkNsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCisJCQkJCQkJaW50IHJ0aW5kZXgsCisJCQkJ CQkJRm9yUG9ydGlvbk9mQ2xhdXNlICpmb3JQb3J0aW9uT2YsCisJCQkJCQkJYm9vbCBpc1VwZGF0 ZSkKK3sKKwlSZWxhdGlvbgl0YXJnZXRyZWwgPSBwc3RhdGUtPnBfdGFyZ2V0X3JlbGF0aW9uOwor CVJURVBlcm1pc3Npb25JbmZvICp0YXJnZXRfcGVybWluZm8gPSBwc3RhdGUtPnBfdGFyZ2V0X25z aXRlbS0+cF9wZXJtaW5mbzsKKwljaGFyCSAgICpyYW5nZV9uYW1lID0gZm9yUG9ydGlvbk9mLT5y YW5nZV9uYW1lOworCWNoYXIJICAgKnJhbmdlX3R5cGVfbmFtZXNwYWNlID0gTlVMTDsKKwljaGFy CSAgICpyYW5nZV90eXBlX25hbWUgPSBOVUxMOworCWludAkJCXJhbmdlX2F0dG5vID0gSW52YWxp ZEF0dHJOdW1iZXI7CisJRm9ybV9wZ19hdHRyaWJ1dGUgYXR0cjsKKwlPaWQJCQlvcGNsYXNzOwor CU9pZAkJCW9wZmFtaWx5OworCU9pZAkJCW9wY2ludHlwZTsKKwlpbnQJCQlmZ2NfZmxhZ3M7CisJ T2lkCQkJZnVuY2lkID0gSW52YWxpZE9pZDsKKwlTdHJhdGVneU51bWJlciBzdHJhdDsKKwlPaWQJ CQlvcGlkOworCUZvclBvcnRpb25PZkV4cHIgKnJlc3VsdDsKKwlWYXIJCSAgICpyYW5nZVZhcjsK KwlOb2RlCSAgICp0YXJnZXRFeHByOworCisJLyogV2UgZG9uJ3Qgc3VwcG9ydCBGT1IgUE9SVElP TiBPRiBGRFcgcXVlcmllcy4gKi8KKwlpZiAodGFyZ2V0cmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0g UkVMS0lORF9GT1JFSUdOX1RBQkxFKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVS UkNPREVfRkVBVFVSRV9OT1RfU1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJmb3JlaWduIHRhYmxl cyBkb24ndCBzdXBwb3J0IEZPUiBQT1JUSU9OIE9GIikpKTsKKworCXJlc3VsdCA9IG1ha2VOb2Rl KEZvclBvcnRpb25PZkV4cHIpOworCisJLyogTG9vayB1cCB0aGUgRk9SIFBPUlRJT04gT0YgbmFt ZSByZXF1ZXN0ZWQuICovCisJcmFuZ2VfYXR0bm8gPSBhdHRuYW1lQXR0TnVtKHRhcmdldHJlbCwg cmFuZ2VfbmFtZSwgZmFsc2UpOworCWlmIChyYW5nZV9hdHRubyA9PSBJbnZhbGlkQXR0ck51bWJl cikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9DT0xV TU4pLAorCQkJCSBlcnJtc2coImNvbHVtbiBvciBwZXJpb2QgXCIlc1wiIG9mIHJlbGF0aW9uIFwi JXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQlyYW5nZV9uYW1lLAorCQkJCQkJUmVsYXRpb25H ZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCisJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3Rh dGUsIGZvclBvcnRpb25PZi0+bG9jYXRpb24pKSk7CisJYXR0ciA9IFR1cGxlRGVzY0F0dHIodGFy Z2V0cmVsLT5yZF9hdHQsIHJhbmdlX2F0dG5vIC0gMSk7CisKKwlyYW5nZVZhciA9IG1ha2VWYXIo CisJCQkJCSAgIHJ0aW5kZXgsCisJCQkJCSAgIHJhbmdlX2F0dG5vLAorCQkJCQkgICBhdHRyLT5h dHR0eXBpZCwKKwkJCQkJICAgYXR0ci0+YXR0dHlwbW9kLAorCQkJCQkgICBhdHRyLT5hdHRjb2xs YXRpb24sCisJCQkJCSAgIDApOworCXJhbmdlVmFyLT5sb2NhdGlvbiA9IGZvclBvcnRpb25PZi0+ bG9jYXRpb247CisJcmVzdWx0LT5yYW5nZVZhciA9IHJhbmdlVmFyOworCXJlc3VsdC0+cmFuZ2VU eXBlID0gYXR0ci0+YXR0dHlwaWQ7CisJaWYgKCFnZXRfdHlwbmFtZV9hbmRfbmFtZXNwYWNlKGF0 dHItPmF0dHR5cGlkLCAmcmFuZ2VfdHlwZV9uYW1lLCAmcmFuZ2VfdHlwZV9uYW1lc3BhY2UpKQor CQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBmb3IgdHlwZSAldSIsIGF0dHItPmF0 dHR5cGlkKTsKKworCisJaWYgKGZvclBvcnRpb25PZi0+dGFyZ2V0KQorCisJCS8qCisJCSAqIFdl IHdlcmUgYWxyZWFkeSBnaXZlbiBhbiBleHByZXNzaW9uIGZvciB0aGUgdGFyZ2V0LCBzbyB3ZSBk b24ndAorCQkgKiBoYXZlIHRvIGJ1aWxkIGFueXRoaW5nLgorCQkgKi8KKwkJdGFyZ2V0RXhwciA9 IGZvclBvcnRpb25PZi0+dGFyZ2V0OworCWVsc2UKKwl7CisJCS8qIE1ha2Ugc3VyZSBpdCdzIGEg cmFuZ2UgY29sdW1uICovCisJCWlmICghdHlwZV9pc19yYW5nZShhdHRyLT5hdHR0eXBpZCkpCisJ CQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfQ09MVU1OX1JF RkVSRU5DRSksCisJCQkJCSBlcnJtc2coImNvbHVtbiBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wi IGlzIG5vdCBhIHJhbmdlIHR5cGUiLAorCQkJCQkJCXJhbmdlX25hbWUsCisJCQkJCQkJUmVsYXRp b25HZXRSZWxhdGlvbk5hbWUodGFyZ2V0cmVsKSksCisJCQkJCSBwYXJzZXJfZXJycG9zaXRpb24o cHN0YXRlLCBmb3JQb3J0aW9uT2YtPmxvY2F0aW9uKSkpOworCisJCS8qCisJCSAqIEJ1aWxkIGEg cmFuZ2UgZnJvbSB0aGUgRlJPTSAuLi4gVE8gLi4uLiBib3VuZHMuIFRoaXMgc2hvdWxkIGdpdmUg YQorCQkgKiBjb25zdGFudCByZXN1bHQsIHNvIHdlIGFjY2VwdCBmdW5jdGlvbnMgbGlrZSBOT1co KSBidXQgbm90IGNvbHVtbgorCQkgKiByZWZlcmVuY2VzLCBzdWJxdWVyaWVzLCBldGMuCisJCSAq LworCQl0YXJnZXRFeHByID0gKE5vZGUgKikgbWFrZUZ1bmNDYWxsKAorCQkJCQkJCQkJCSAgIGxp c3RfbWFrZTIobWFrZVN0cmluZyhyYW5nZV90eXBlX25hbWVzcGFjZSksIG1ha2VTdHJpbmcocmFu Z2VfdHlwZV9uYW1lKSksCisJCQkJCQkJCQkJICAgbGlzdF9tYWtlMihmb3JQb3J0aW9uT2YtPnRh cmdldF9zdGFydCwgZm9yUG9ydGlvbk9mLT50YXJnZXRfZW5kKSwKKwkJCQkJCQkJCQkgICBDT0VS Q0VfRVhQTElDSVRfQ0FMTCwKKwkJCQkJCQkJCQkgICBmb3JQb3J0aW9uT2YtPmxvY2F0aW9uKTsK Kwl9CisJcmVzdWx0LT50YXJnZXRSYW5nZSA9IHRyYW5zZm9ybUV4cHIocHN0YXRlLCB0YXJnZXRF eHByLCBFWFBSX0tJTkRfVVBEQVRFX1BPUlRJT04pOworCisJLyoKKwkgKiBCdWlsZCBvdmVybGFw c0V4cHIgdG8gdXNlIGluIHRoZSB3aGVyZUNsYXVzZS4gVGhpcyBtZWFucyB3ZSBvbmx5IGhpdAor CSAqIHJvd3MgbWF0Y2hpbmcgdGhlIEZST00gJiBUTyBib3VuZHMuIFdlIG11c3QgbG9vayB1cCB0 aGUgb3ZlcmxhcHMKKwkgKiBvcGVyYXRvciAodXN1YWxseSAiJiYiKS4KKwkgKi8KKwlvcGNsYXNz ID0gR2V0RGVmYXVsdE9wQ2xhc3MoYXR0ci0+YXR0dHlwaWQsIEdJU1RfQU1fT0lEKTsKKwlzdHJh dCA9IFJUT3ZlcmxhcFN0cmF0ZWd5TnVtYmVyOworCUdldE9wZXJhdG9yRnJvbUNvbXBhcmVUeXBl KG9wY2xhc3MsIEludmFsaWRPaWQsIENPTVBBUkVfT1ZFUkxBUCwgJm9waWQsICZzdHJhdCk7CisJ cmVzdWx0LT5vdmVybGFwc0V4cHIgPSAoTm9kZSAqKSBtYWtlU2ltcGxlQV9FeHByKEFFWFBSX09Q LCBnZXRfb3BuYW1lKG9waWQpLAorCQkJCQkJCQkJCQkJCSAoTm9kZSAqKSBjb3B5T2JqZWN0KHJh bmdlVmFyKSwgdGFyZ2V0RXhwciwKKwkJCQkJCQkJCQkJCQkgZm9yUG9ydGlvbk9mLT5sb2NhdGlv bik7CisKKwkvKgorCSAqIExvb2sgdXAgdGhlIHdpdGhvdXRfcG9ydGlvbiBmdW5jLiBUaGlzIGNv bXB1dGVzIHRoZSBib3VuZHMgb2YgdGVtcG9yYWwKKwkgKiBsZWZ0b3ZlcnMuCisJICoKKwkgKiBY WFg6IEZpbmQgYSBtb3JlIGV4dGVuc2libGUgd2F5IHRvIGxvb2sgdXAgdGhlIGZ1bmN0aW9uLCBw ZXJtaXR0aW5nCisJICogdXNlci1kZWZpbmVkIHR5cGVzLiBBbiBvcGNsYXNzIHN1cHBvcnQgZnVu Y3Rpb24gZG9lc24ndCBtYWtlIHNlbnNlLAorCSAqIHNpbmNlIHRoZXJlIGlzIG5vIGluZGV4IGlu dm9sdmVkLiBQZXJoYXBzIGEgdHlwZSBzdXBwb3J0IGZ1bmN0aW9uLgorCSAqLworCWlmIChnZXRf b3BjbGFzc19vcGZhbWlseV9hbmRfaW5wdXRfdHlwZShvcGNsYXNzLCAmb3BmYW1pbHksICZvcGNp bnR5cGUpKQorCQlzd2l0Y2ggKG9wY2ludHlwZSkKKwkJeworCQkJY2FzZSBBTllSQU5HRU9JRDoK KwkJCQlyZXN1bHQtPndpdGhvdXRQb3J0aW9uUHJvYyA9IEZfUkFOR0VfTUlOVVNfTVVMVEk7CisJ CQkJYnJlYWs7CisJCQljYXNlIEFOWU1VTFRJUkFOR0VPSUQ6CisJCQkJcmVzdWx0LT53aXRob3V0 UG9ydGlvblByb2MgPSBGX01VTFRJUkFOR0VfTUlOVVNfTVVMVEk7CisJCQkJYnJlYWs7CisJCQlk ZWZhdWx0OgorCQkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIG9wY2ludHlwZTogJXUiLCBvcGNp bnR5cGUpOworCQl9CisJZWxzZQorCQllbG9nKEVSUk9SLCAidW5leHBlY3RlZCBvcGNsYXNzOiAl dSIsIG9wY2xhc3MpOworCisJaWYgKGlzVXBkYXRlKQorCXsKKwkJLyoKKwkJICogTm93IG1ha2Ug c3VyZSB3ZSB1cGRhdGUgdGhlIHN0YXJ0L2VuZCB0aW1lIG9mIHRoZSByZWNvcmQuIEZvciBhCisJ CSAqIHJhbmdlIGNvbCAocikgdGhpcyBpcyBgciA9IHIgKiB0YXJnZXRSYW5nZWAuCisJCSAqLwor CQlPaWQJCQlpbnRlcnNlY3RvcGVyb2lkOworCQlMaXN0CSAgICpmdW5jQXJncyA9IE5JTDsKKwkJ RnVuY0V4cHIgICAqcmFuZ2VUTEVFeHByOworCQlUYXJnZXRFbnRyeSAqdGxlOworCisJCS8qCisJ CSAqIFdoYXRldmVyIG9wZXJhdG9yIGlzIHVzZWQgZm9yIGludGVyc2VjdCBieSB0ZW1wb3JhbCBm b3JlaWduIGtleXMsCisJCSAqIHdlIGNhbiB1c2UgaXRzIGJhY2tpbmcgcHJvY2VkdXJlIGZvciBp bnRlcnNlY3RzIGluIEZPUiBQT1JUSU9OIE9GLgorCQkgKiBYWFg6IFNoYXJlIGNvZGUgd2l0aCBG aW5kRktQZXJpb2RPcGVycz8KKwkJICovCisJCXN3aXRjaCAob3BjaW50eXBlKQorCQl7CisJCQlj YXNlIEFOWVJBTkdFT0lEOgorCQkJCWludGVyc2VjdG9wZXJvaWQgPSBPSURfUkFOR0VfSU5URVJT RUNUX1JBTkdFX09QOworCQkJCWJyZWFrOworCQkJY2FzZSBBTllNVUxUSVJBTkdFT0lEOgorCQkJ CWludGVyc2VjdG9wZXJvaWQgPSBPSURfTVVMVElSQU5HRV9JTlRFUlNFQ1RfTVVMVElSQU5HRV9P UDsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJZWxvZyhFUlJPUiwgIlVuZXhwZWN0ZWQg b3BjaW50eXBlOiAldSIsIG9wY2ludHlwZSk7CisJCX0KKwkJZnVuY2lkID0gZ2V0X29wY29kZShp bnRlcnNlY3RvcGVyb2lkKTsKKwkJaWYgKCFPaWRJc1ZhbGlkKGZ1bmNpZCkpCisJCQllcmVwb3J0 KEVSUk9SLAorCQkJCQllcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCisJCQkJCWVy cm1zZygiY291bGQgbm90IGlkZW50aWZ5IGFuIGludGVyc2VjdCBmdW5jdGlvbiBmb3IgdHlwZSAl cyIsIGZvcm1hdF90eXBlX2JlKG9wY2ludHlwZSkpKTsKKworCQl0YXJnZXRFeHByID0gdHJhbnNm b3JtRXhwcihwc3RhdGUsIHRhcmdldEV4cHIsIEVYUFJfS0lORF9VUERBVEVfUE9SVElPTik7CisJ CWZ1bmNBcmdzID0gbGFwcGVuZChmdW5jQXJncywgY29weU9iamVjdChyYW5nZVZhcikpOworCQlm dW5jQXJncyA9IGxhcHBlbmQoZnVuY0FyZ3MsIHRhcmdldEV4cHIpOworCQlyYW5nZVRMRUV4cHIg PSBtYWtlRnVuY0V4cHIoZnVuY2lkLCBhdHRyLT5hdHR0eXBpZCwgZnVuY0FyZ3MsCisJCQkJCQkJ CQlJbnZhbGlkT2lkLCBJbnZhbGlkT2lkLCBDT0VSQ0VfRVhQTElDSVRfQ0FMTCk7CisKKwkJLyog TWFrZSBhIFRMRSB0byBzZXQgdGhlIHJhbmdlIGNvbHVtbiAqLworCQlyZXN1bHQtPnJhbmdlVGFy Z2V0TGlzdCA9IE5JTDsKKwkJdGxlID0gbWFrZVRhcmdldEVudHJ5KChFeHByICopIHJhbmdlVExF RXhwciwgcmFuZ2VfYXR0bm8sIHJhbmdlX25hbWUsIGZhbHNlKTsKKwkJcmVzdWx0LT5yYW5nZVRh cmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0LCB0bGUpOworCisJCS8q IE1hcmsgdGhlIHJhbmdlIGNvbHVtbiBhcyByZXF1aXJpbmcgdXBkYXRlIHBlcm1pc3Npb25zICov CisJCXRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMgPSBibXNfYWRkX21lbWJlcih0YXJnZXRf cGVybWluZm8tPnVwZGF0ZWRDb2xzLAorCQkJCQkJCQkJCQkJCSAgcmFuZ2VfYXR0bm8gLSBGaXJz dExvd0ludmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyKTsKKwl9CisJZWxzZQorCQlyZXN1bHQtPnJh bmdlVGFyZ2V0TGlzdCA9IE5JTDsKKworCXJlc3VsdC0+cmFuZ2VfbmFtZSA9IHJhbmdlX25hbWU7 CisKKwlyZXR1cm4gcmVzdWx0OworfQogCiAvKgogICogQnVpbGRPbkNvbmZsaWN0RXhjbHVkZWRU YXJnZXRsaXN0CkBAIC0yNDkxLDYgKzI3MTAsNyBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNl U3RhdGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIHsKIAlRdWVyeQkgICAqcXJ5ID0gbWFr ZU5vZGUoUXVlcnkpOwogCVBhcnNlTmFtZXNwYWNlSXRlbSAqbnNpdGVtOworCU5vZGUJICAgKndo ZXJlQ2xhdXNlOwogCU5vZGUJICAgKnF1YWw7CiAKIAlxcnktPmNvbW1hbmRUeXBlID0gQ01EX1VQ REFURTsKQEAgLTI1MDgsNiArMjcyOCwxMCBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3Rh dGUgKnBzdGF0ZSwgVXBkYXRlU3RtdCAqc3RtdCkKIAkJCQkJCQkJCQkgc3RtdC0+cmVsYXRpb24t PmluaCwKIAkJCQkJCQkJCQkgdHJ1ZSwKIAkJCQkJCQkJCQkgQUNMX1VQREFURSk7CisKKwlpZiAo c3RtdC0+Zm9yUG9ydGlvbk9mKQorCQlxcnktPmZvclBvcnRpb25PZiA9IHRyYW5zZm9ybUZvclBv cnRpb25PZkNsYXVzZShwc3RhdGUsIHFyeS0+cmVzdWx0UmVsYXRpb24sIHN0bXQtPmZvclBvcnRp b25PZiwgdHJ1ZSk7CisKIAluc2l0ZW0gPSBwc3RhdGUtPnBfdGFyZ2V0X25zaXRlbTsKIAogCS8q IHN1YnF1ZXJpZXMgaW4gRlJPTSBjYW5ub3QgYWNjZXNzIHRoZSByZXN1bHQgcmVsYXRpb24gKi8K QEAgLTI1MjQsNyArMjc0OCw4IEBAIHRyYW5zZm9ybVVwZGF0ZVN0bXQoUGFyc2VTdGF0ZSAqcHN0 YXRlLCBVcGRhdGVTdG10ICpzdG10KQogCW5zaXRlbS0+cF9sYXRlcmFsX29ubHkgPSBmYWxzZTsK IAluc2l0ZW0tPnBfbGF0ZXJhbF9vayA9IHRydWU7CiAKLQlxdWFsID0gdHJhbnNmb3JtV2hlcmVD bGF1c2UocHN0YXRlLCBzdG10LT53aGVyZUNsYXVzZSwKKwl3aGVyZUNsYXVzZSA9IGFkZEZvclBv cnRpb25PZldoZXJlQ29uZGl0aW9ucyhxcnksIHN0bXQtPmZvclBvcnRpb25PZiwgc3RtdC0+d2hl cmVDbGF1c2UpOworCXF1YWwgPSB0cmFuc2Zvcm1XaGVyZUNsYXVzZShwc3RhdGUsIHdoZXJlQ2xh dXNlLAogCQkJCQkJCQlFWFBSX0tJTkRfV0hFUkUsICJXSEVSRSIpOwogCiAJdHJhbnNmb3JtUmV0 dXJuaW5nQ2xhdXNlKHBzdGF0ZSwgcXJ5LCBzdG10LT5yZXR1cm5pbmdDbGF1c2UsCkBAIC0yNTM0 LDcgKzI3NTksNyBAQCB0cmFuc2Zvcm1VcGRhdGVTdG10KFBhcnNlU3RhdGUgKnBzdGF0ZSwgVXBk YXRlU3RtdCAqc3RtdCkKIAkgKiBOb3cgd2UgYXJlIGRvbmUgd2l0aCBTRUxFQ1QtbGlrZSBwcm9j ZXNzaW5nLCBhbmQgY2FuIGdldCBvbiB3aXRoCiAJICogdHJhbnNmb3JtaW5nIHRoZSB0YXJnZXQg bGlzdCB0byBtYXRjaCB0aGUgVVBEQVRFIHRhcmdldCBjb2x1bW5zLgogCSAqLwotCXFyeS0+dGFy Z2V0TGlzdCA9IHRyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QocHN0YXRlLCBzdG10LT50YXJnZXRM aXN0KTsKKwlxcnktPnRhcmdldExpc3QgPSB0cmFuc2Zvcm1VcGRhdGVUYXJnZXRMaXN0KHBzdGF0 ZSwgc3RtdC0+dGFyZ2V0TGlzdCwgcXJ5LT5mb3JQb3J0aW9uT2YpOwogCiAJcXJ5LT5ydGFibGUg PSBwc3RhdGUtPnBfcnRhYmxlOwogCXFyeS0+cnRlcGVybWluZm9zID0gcHN0YXRlLT5wX3J0ZXBl cm1pbmZvczsKQEAgLTI1NTMsNyArMjc3OCw3IEBAIHRyYW5zZm9ybVVwZGF0ZVN0bXQoUGFyc2VT dGF0ZSAqcHN0YXRlLCBVcGRhdGVTdG10ICpzdG10KQogICoJaGFuZGxlIFNFVCBjbGF1c2UgaW4g VVBEQVRFL01FUkdFL0lOU0VSVCAuLi4gT04gQ09ORkxJQ1QgVVBEQVRFCiAgKi8KIExpc3QgKgot dHJhbnNmb3JtVXBkYXRlVGFyZ2V0TGlzdChQYXJzZVN0YXRlICpwc3RhdGUsIExpc3QgKm9yaWdU bGlzdCkKK3RyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QoUGFyc2VTdGF0ZSAqcHN0YXRlLCBMaXN0 ICpvcmlnVGxpc3QsIEZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZikKIHsKIAlMaXN0CSAg ICp0bGlzdCA9IE5JTDsKIAlSVEVQZXJtaXNzaW9uSW5mbyAqdGFyZ2V0X3Blcm1pbmZvOwpAQCAt MjYwNiw2ICsyODMxLDIwIEBAIHRyYW5zZm9ybVVwZGF0ZVRhcmdldExpc3QoUGFyc2VTdGF0ZSAq cHN0YXRlLCBMaXN0ICpvcmlnVGxpc3QpCiAJCQkJCSBlcnJoaW50KCJTRVQgdGFyZ2V0IGNvbHVt bnMgY2Fubm90IGJlIHF1YWxpZmllZCB3aXRoIHRoZSByZWxhdGlvbiBuYW1lLiIpIDogMCwKIAkJ CQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIG9yaWdUYXJnZXQtPmxvY2F0aW9uKSkpOwog CisJCS8qCisJCSAqIElmIHRoaXMgaXMgYSBGT1IgUE9SVElPTiBPRiB1cGRhdGUsIGZvcmJpZCBk aXJlY3RseSBzZXR0aW5nIHRoZQorCQkgKiByYW5nZSBjb2x1bW4sIHNpbmNlIHRoYXQgd291bGQg Y29uZmxpY3Qgd2l0aCB0aGUgaW1wbGljaXQgdXBkYXRlcy4KKwkJICovCisJCWlmIChmb3JQb3J0 aW9uT2YgIT0gTlVMTCkKKwkJeworCQkJaWYgKGF0dHJubyA9PSBmb3JQb3J0aW9uT2YtPnJhbmdl VmFyLT52YXJhdHRubykKKwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycmNvZGUoRVJSQ09E RV9TWU5UQVhfRVJST1IpLAorCQkJCQkJIGVycm1zZygiY2FuJ3QgZGlyZWN0bHkgYXNzaWduIHRv IFwiJXNcIiBpbiBhIEZPUiBQT1JUSU9OIE9GIHVwZGF0ZSIsCisJCQkJCQkJCW9yaWdUYXJnZXQt Pm5hbWUpLAorCQkJCQkJIHBhcnNlcl9lcnJwb3NpdGlvbihwc3RhdGUsIG9yaWdUYXJnZXQtPmxv Y2F0aW9uKSkpOworCQl9CisKIAkJdXBkYXRlVGFyZ2V0TGlzdEVudHJ5KHBzdGF0ZSwgdGxlLCBv cmlnVGFyZ2V0LT5uYW1lLAogCQkJCQkJCSAgYXR0cm5vLAogCQkJCQkJCSAgb3JpZ1RhcmdldC0+ aW5kaXJlY3Rpb24sCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3Jj L2JhY2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCAyMWNhZjJkNDNiZi4uOWZiMDNlYjdjOWEgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKKysrIGIvc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueQpAQCAtMjUwLDYgKzI1MCw3IEBAIHN0YXRpYyBOb2RlICptYWtlUmVjdXJzaXZl Vmlld1NlbGVjdChjaGFyICpyZWxuYW1lLCBMaXN0ICphbGlhc2VzLCBOb2RlICpxdWVyeSk7CiAJ UmFuZ2VWYXIgICAqcmFuZ2U7CiAJSW50b0NsYXVzZSAqaW50bzsKIAlXaXRoQ2xhdXNlICp3aXRo OworCUZvclBvcnRpb25PZkNsYXVzZSAqZm9ycG9ydGlvbm9mOwogCUluZmVyQ2xhdXNlCSppbmZl cjsKIAlPbkNvbmZsaWN0Q2xhdXNlICpvbmNvbmZsaWN0OwogCUFfSW5kaWNlcyAgKmFpbmQ7CkBA IC01NTQsNiArNTU1LDggQEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNo YXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICV0eXBlIDxyYW5nZT4J cmVsYXRpb25fZXhwcgogJXR5cGUgPHJhbmdlPglleHRlbmRlZF9yZWxhdGlvbl9leHByCiAldHlw ZSA8cmFuZ2U+CXJlbGF0aW9uX2V4cHJfb3B0X2FsaWFzCisldHlwZSA8YWxpYXM+CW9wdF9hbGlh cworJXR5cGUgPGZvcnBvcnRpb25vZj4gZm9yX3BvcnRpb25fb2ZfY2xhdXNlCiAldHlwZSA8bm9k ZT4JdGFibGVzYW1wbGVfY2xhdXNlIG9wdF9yZXBlYXRhYmxlX2NsYXVzZQogJXR5cGUgPHRhcmdl dD4JdGFyZ2V0X2VsIHNldF90YXJnZXQgaW5zZXJ0X2NvbHVtbl9pdGVtCiAKQEAgLTc2Myw3ICs3 NjYsNyBAQCBzdGF0aWMgTm9kZSAqbWFrZVJlY3Vyc2l2ZVZpZXdTZWxlY3QoY2hhciAqcmVsbmFt ZSwgTGlzdCAqYWxpYXNlcywgTm9kZSAqcXVlcnkpOwogCU9WRVIgT1ZFUkxBUFMgT1ZFUkxBWSBP VkVSUklESU5HIE9XTkVEIE9XTkVSCiAKIAlQQVJBTExFTCBQQVJBTUVURVIgUEFSU0VSIFBBUlRJ QUwgUEFSVElUSU9OIFBBU1NJTkcgUEFTU1dPUkQgUEFUSAotCVBFUklPRCBQTEFDSU5HIFBMQU4g UExBTlMgUE9MSUNZCisJUEVSSU9EIFBMQUNJTkcgUExBTiBQTEFOUyBQT0xJQ1kgUE9SVElPTgog CVBPU0lUSU9OIFBSRUNFRElORyBQUkVDSVNJT04gUFJFU0VSVkUgUFJFUEFSRSBQUkVQQVJFRCBQ UklNQVJZCiAJUFJJT1IgUFJJVklMRUdFUyBQUk9DRURVUkFMIFBST0NFRFVSRSBQUk9DRURVUkVT IFBST0dSQU0gUFVCTElDQVRJT04KIApAQCAtODgyLDEyICs4ODUsMTUgQEAgc3RhdGljIE5vZGUg Km1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExpc3QgKmFsaWFzZXMsIE5v ZGUgKnF1ZXJ5KTsKICAqIGpzb25fcHJlZGljYXRlX3R5cGVfY29uc3RyYWludCBhbmQganNvbl9r ZXlfdW5pcXVlbmVzc19jb25zdHJhaW50X29wdAogICogcHJvZHVjdGlvbnMgKHNlZSBjb21tZW50 cyB0aGVyZSkuCiAgKgorICogVE8gaXMgYXNzaWduZWQgdGhlIHNhbWUgcHJlY2VkZW5jZSBhcyBJ REVOVCwgdG8gc3VwcG9ydCB0aGUgb3B0X2ludGVydmFsCisgKiBwcm9kdWN0aW9uIChzZWUgY29t bWVudCB0aGVyZSkuCisgKgogICogTGlrZSB0aGUgVU5CT1VOREVEIFBSRUNFRElORy9GT0xMT1dJ TkcgY2FzZSwgTkVTVEVEIGlzIGFzc2lnbmVkIGEgbG93ZXIKICAqIHByZWNlZGVuY2UgdGhhbiBQ QVRIIHRvIGZpeCBhbWJpZ3VpdHkgaW4gdGhlIGpzb25fdGFibGUgcHJvZHVjdGlvbi4KICAqLwog JW5vbmFzc29jCVVOQk9VTkRFRCBORVNURUQgLyogaWRlYWxseSB3b3VsZCBoYXZlIHNhbWUgcHJl Y2VkZW5jZSBhcyBJREVOVCAqLwogJW5vbmFzc29jCUlERU5UIFBBUlRJVElPTiBSQU5HRSBST1dT IEdST1VQUyBQUkVDRURJTkcgRk9MTE9XSU5HIENVQkUgUk9MTFVQCi0JCQlTRVQgS0VZUyBPQkpF Q1RfUCBTQ0FMQVIgVkFMVUVfUCBXSVRIIFdJVEhPVVQgUEFUSAorCQkJU0VUIEtFWVMgT0JKRUNU X1AgU0NBTEFSIFRPIFVTSU5HIFZBTFVFX1AgV0lUSCBXSVRIT1VUIFBBVEgKICVsZWZ0CQlPcCBP UEVSQVRPUgkJLyogbXVsdGktY2hhcmFjdGVyIG9wcyBhbmQgdXNlci1kZWZpbmVkIG9wZXJhdG9y cyAqLwogJWxlZnQJCScrJyAnLScKICVsZWZ0CQknKicgJy8nICclJwpAQCAtMTI1MjEsNiArMTI1 MjcsMjAgQEAgRGVsZXRlU3RtdDogb3B0X3dpdGhfY2xhdXNlIERFTEVURV9QIEZST00gcmVsYXRp b25fZXhwcl9vcHRfYWxpYXMKIAkJCQkJbi0+d2l0aENsYXVzZSA9ICQxOwogCQkJCQkkJCA9IChO b2RlICopIG47CiAJCQkJfQorCQkJfCBvcHRfd2l0aF9jbGF1c2UgREVMRVRFX1AgRlJPTSByZWxh dGlvbl9leHByIGZvcl9wb3J0aW9uX29mX2NsYXVzZSBvcHRfYWxpYXMKKwkJCXVzaW5nX2NsYXVz ZSB3aGVyZV9vcl9jdXJyZW50X2NsYXVzZSByZXR1cm5pbmdfY2xhdXNlCisJCQkJeworCQkJCQlE ZWxldGVTdG10ICpuID0gbWFrZU5vZGUoRGVsZXRlU3RtdCk7CisKKwkJCQkJbi0+cmVsYXRpb24g PSAkNDsKKwkJCQkJbi0+Zm9yUG9ydGlvbk9mID0gJDU7CisJCQkJCW4tPnJlbGF0aW9uLT5hbGlh cyA9ICQ2OworCQkJCQluLT51c2luZ0NsYXVzZSA9ICQ3OworCQkJCQluLT53aGVyZUNsYXVzZSA9 ICQ4OworCQkJCQluLT5yZXR1cm5pbmdDbGF1c2UgPSAkOTsKKwkJCQkJbi0+d2l0aENsYXVzZSA9 ICQxOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQogCQk7CiAKIHVzaW5nX2NsYXVzZToK QEAgLTEyNTk1LDYgKzEyNjE1LDI1IEBAIFVwZGF0ZVN0bXQ6IG9wdF93aXRoX2NsYXVzZSBVUERB VEUgcmVsYXRpb25fZXhwcl9vcHRfYWxpYXMKIAkJCQkJbi0+d2l0aENsYXVzZSA9ICQxOwogCQkJ CQkkJCA9IChOb2RlICopIG47CiAJCQkJfQorCQkJfCBvcHRfd2l0aF9jbGF1c2UgVVBEQVRFIHJl bGF0aW9uX2V4cHIKKwkJCWZvcl9wb3J0aW9uX29mX2NsYXVzZSBvcHRfYWxpYXMKKwkJCVNFVCBz ZXRfY2xhdXNlX2xpc3QKKwkJCWZyb21fY2xhdXNlCisJCQl3aGVyZV9vcl9jdXJyZW50X2NsYXVz ZQorCQkJcmV0dXJuaW5nX2NsYXVzZQorCQkJCXsKKwkJCQkJVXBkYXRlU3RtdCAqbiA9IG1ha2VO b2RlKFVwZGF0ZVN0bXQpOworCisJCQkJCW4tPnJlbGF0aW9uID0gJDM7CisJCQkJCW4tPmZvclBv cnRpb25PZiA9ICQ0OworCQkJCQluLT5yZWxhdGlvbi0+YWxpYXMgPSAkNTsKKwkJCQkJbi0+dGFy Z2V0TGlzdCA9ICQ3OworCQkJCQluLT5mcm9tQ2xhdXNlID0gJDg7CisJCQkJCW4tPndoZXJlQ2xh dXNlID0gJDk7CisJCQkJCW4tPnJldHVybmluZ0NsYXVzZSA9ICQxMDsKKwkJCQkJbi0+d2l0aENs YXVzZSA9ICQxOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQogCQk7CiAKIHNldF9jbGF1 c2VfbGlzdDoKQEAgLTE0MDkyLDYgKzE0MTMxLDQ0IEBAIHJlbGF0aW9uX2V4cHJfb3B0X2FsaWFz OiByZWxhdGlvbl9leHByCQkJCQklcHJlYyBVTUlOVVMKIAkJCQl9CiAJCTsKIAorb3B0X2FsaWFz OgorCQkJQVMgQ29sSWQKKwkJCQl7CisJCQkJCUFsaWFzCSAgICphbGlhcyA9IG1ha2VOb2RlKEFs aWFzKTsKKworCQkJCQlhbGlhcy0+YWxpYXNuYW1lID0gJDI7CisJCQkJCSQkID0gYWxpYXM7CisJ CQkJfQorCQkJfCBCYXJlQ29sTGFiZWwKKwkJCQl7CisJCQkJCUFsaWFzCSAgICphbGlhcyA9IG1h a2VOb2RlKEFsaWFzKTsKKworCQkJCQlhbGlhcy0+YWxpYXNuYW1lID0gJDE7CisJCQkJCSQkID0g YWxpYXM7CisJCQkJfQorCQkJfCAvKiBlbXB0eSAqLyAlcHJlYyBVTUlOVVMgeyAkJCA9IE5VTEw7 IH0KKwkJOworCitmb3JfcG9ydGlvbl9vZl9jbGF1c2U6CisJCQlGT1IgUE9SVElPTiBPRiBDb2xJ ZCAnKCcgYV9leHByICcpJworCQkJCXsKKwkJCQkJRm9yUG9ydGlvbk9mQ2xhdXNlICpuID0gbWFr ZU5vZGUoRm9yUG9ydGlvbk9mQ2xhdXNlKTsKKwkJCQkJbi0+cmFuZ2VfbmFtZSA9ICQ0OworCQkJ CQluLT5sb2NhdGlvbiA9IEA0OworCQkJCQluLT50YXJnZXQgPSAkNjsKKwkJCQkJJCQgPSBuOwor CQkJCX0KKwkJCXwgRk9SIFBPUlRJT04gT0YgQ29sSWQgRlJPTSBhX2V4cHIgVE8gYV9leHByCisJ CQkJeworCQkJCQlGb3JQb3J0aW9uT2ZDbGF1c2UgKm4gPSBtYWtlTm9kZShGb3JQb3J0aW9uT2ZD bGF1c2UpOworCQkJCQluLT5yYW5nZV9uYW1lID0gJDQ7CisJCQkJCW4tPmxvY2F0aW9uID0gQDQ7 CisJCQkJCW4tPnRhcmdldF9zdGFydCA9ICQ2OworCQkJCQluLT50YXJnZXRfZW5kID0gJDg7CisJ CQkJCSQkID0gbjsKKwkJCQl9CisJCTsKKwogLyoKICAqIFRBQkxFU0FNUExFIGRlY29yYXRpb24g aW4gYSBGUk9NIGl0ZW0KICAqLwpAQCAtMTQ5MzIsMTYgKzE1MDA5LDI1IEBAIG9wdF90aW1lem9u ZToKIAkJCXwgLypFTVBUWSovCQkJCQkJCQl7ICQkID0gZmFsc2U7IH0KIAkJOwogCisvKgorICog V2UgbmVlZCB0byBoYW5kbGUgdGhpcyBzaGlmdC9yZWR1Y2UgY29uZmxpY3Q6CisgKiBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NIHQgKyBJTlRFUlZBTCAnMScgWUVBUiBUTyBNT05USC4KKyAq IFdlIGRvbid0IHNlZSBmYXIgZW5vdWdoIGFoZWFkIHRvIGtub3cgaWYgdGhlcmUgaXMgYW5vdGhl ciBUTyBjb21pbmcuCisgKiBXZSBwcmVmZXIgdG8gaW50ZXJwcmV0IHRoaXMgYXMgRlJPTSAodCAr IElOVEVSVkFMICcxJyBZRUFSIFRPIE1PTlRIKSwKKyAqIGkuZS4gdG8gc2hpZnQuCisgKiBUaGF0 IGdpdmVzIHRoZSB1c2VyIHRoZSBvcHRpb24gb2YgYWRkaW5nIHBhcmVudGhlc2VzIHRvIGdldCB0 aGUgb3RoZXIgbWVhbmluZy4KKyAqIElmIHdlIHJlZHVjZWQsIGludGVydmFscyBjb3VsZCBuZXZl ciBoYXZlIGEgVE8uCisgKi8KIG9wdF9pbnRlcnZhbDoKLQkJCVlFQVJfUAorCQkJWUVBUl9QCQkJ CQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9IGxpc3RfbWFrZTEobWFrZUludENvbnN0 KElOVEVSVkFMX01BU0soWUVBUiksIEAxKSk7IH0KIAkJCXwgTU9OVEhfUAogCQkJCXsgJCQgPSBs aXN0X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9NQVNLKE1PTlRIKSwgQDEpKTsgfQotCQkJ fCBEQVlfUAorCQkJfCBEQVlfUAkJCQkJCQkJCQkJCQkJCQklcHJlYyBJUwogCQkJCXsgJCQgPSBs aXN0X21ha2UxKG1ha2VJbnRDb25zdChJTlRFUlZBTF9NQVNLKERBWSksIEAxKSk7IH0KLQkJCXwg SE9VUl9QCisJCQl8IEhPVVJfUAkJCQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9IGxp c3RfbWFrZTEobWFrZUludENvbnN0KElOVEVSVkFMX01BU0soSE9VUiksIEAxKSk7IH0KLQkJCXwg TUlOVVRFX1AKKwkJCXwgTUlOVVRFX1AJCQkJCQkJCQkJCQkJCSVwcmVjIElTCiAJCQkJeyAkJCA9 IGxpc3RfbWFrZTEobWFrZUludENvbnN0KElOVEVSVkFMX01BU0soTUlOVVRFKSwgQDEpKTsgfQog CQkJfCBpbnRlcnZhbF9zZWNvbmQKIAkJCQl7ICQkID0gJDE7IH0KQEAgLTE3OTk1LDYgKzE4MDgx LDcgQEAgdW5yZXNlcnZlZF9rZXl3b3JkOgogCQkJfCBQTEFOCiAJCQl8IFBMQU5TCiAJCQl8IFBP TElDWQorCQkJfCBQT1JUSU9OCiAJCQl8IFBSRUNFRElORwogCQkJfCBQUkVQQVJFCiAJCQl8IFBS RVBBUkVECkBAIC0xODYyNCw2ICsxODcxMSw3IEBAIGJhcmVfbGFiZWxfa2V5d29yZDoKIAkJCXwg UExBTgogCQkJfCBQTEFOUwogCQkJfCBQT0xJQ1kKKwkJCXwgUE9SVElPTgogCQkJfCBQT1NJVElP TgogCQkJfCBQUkVDRURJTkcKIAkJCXwgUFJFUEFSRQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX2FnZy5jIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2FnZy5jCmluZGV4 IDMyNTRjODNjYzZjLi44YjhjMmI5Mjk5YyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2Vy L3BhcnNlX2FnZy5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9hZ2cuYwpAQCAtNTc5 LDYgKzU3OSwxMyBAQCBjaGVja19hZ2dsZXZlbHNfYW5kX2NvbnN0cmFpbnRzKFBhcnNlU3RhdGUg KnBzdGF0ZSwgTm9kZSAqZXhwcikKIAkJY2FzZSBFWFBSX0tJTkRfQ1lDTEVfTUFSSzoKIAkJCWVy cmtpbmQgPSB0cnVlOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX1VQREFURV9QT1JUSU9O OgorCQkJaWYgKGlzQWdnKQorCQkJCWVyciA9IF8oImFnZ3JlZ2F0ZSBmdW5jdGlvbnMgYXJlIG5v dCBhbGxvd2VkIGluIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb25zIik7CisJCQllbHNlCisJCQkJ ZXJyID0gXygiZ3JvdXBpbmcgb3BlcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBPUlRJ T04gT0YgZXhwcmVzc2lvbnMiKTsKKworCQkJYnJlYWs7CiAKIAkJCS8qCiAJCQkgKiBUaGVyZSBp cyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28gdGhhdCB0aGUKQEAgLTk5 Niw2ICsxMDAzLDkgQEAgdHJhbnNmb3JtV2luZG93RnVuY0NhbGwoUGFyc2VTdGF0ZSAqcHN0YXRl LCBXaW5kb3dGdW5jICp3ZnVuYywKIAkJY2FzZSBFWFBSX0tJTkRfQ1lDTEVfTUFSSzoKIAkJCWVy cmtpbmQgPSB0cnVlOwogCQkJYnJlYWs7CisJCWNhc2UgRVhQUl9LSU5EX1VQREFURV9QT1JUSU9O OgorCQkJZXJyID0gXygid2luZG93IGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBP UlRJT04gT0YgZXhwcmVzc2lvbnMiKTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUg aXMgaW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfY29sbGF0ZS5jIGIvc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX2NvbGxhdGUuYwppbmRleCBkMmUyMTgzNTNmMy4uNTIyMzQ1YjE2NjggMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9jb2xsYXRlLmMKKysrIGIvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX2NvbGxhdGUuYwpAQCAtNDg0LDYgKzQ4NCw3IEBAIGFzc2lnbl9j b2xsYXRpb25zX3dhbGtlcihOb2RlICpub2RlLCBhc3NpZ25fY29sbGF0aW9uc19jb250ZXh0ICpj b250ZXh0KQogCQljYXNlIFRfSm9pbkV4cHI6CiAJCWNhc2UgVF9Gcm9tRXhwcjoKIAkJY2FzZSBU X09uQ29uZmxpY3RFeHByOgorCQljYXNlIFRfRm9yUG9ydGlvbk9mRXhwcjoKIAkJY2FzZSBUX1Nv cnRHcm91cENsYXVzZToKIAkJY2FzZSBUX01lcmdlQWN0aW9uOgogCQkJKHZvaWQpIGV4cHJlc3Np b25fdHJlZV93YWxrZXIobm9kZSwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJz ZV9leHByLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCmluZGV4IDEyMTE5ZjE0 N2ZjLi5kOGE5NmZiZjUzNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2V4 cHIuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfZXhwci5jCkBAIC01ODUsNiArNTg1 LDkgQEAgdHJhbnNmb3JtQ29sdW1uUmVmKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ29sdW1uUmVmICpj cmVmKQogCQljYXNlIEVYUFJfS0lORF9QQVJUSVRJT05fQk9VTkQ6CiAJCQllcnIgPSBfKCJjYW5u b3QgdXNlIGNvbHVtbiByZWZlcmVuY2UgaW4gcGFydGl0aW9uIGJvdW5kIGV4cHJlc3Npb24iKTsK IAkJCWJyZWFrOworCQljYXNlIEVYUFJfS0lORF9VUERBVEVfUE9SVElPTjoKKwkJCWVyciA9IF8o ImNhbm5vdCB1c2UgY29sdW1uIHJlZmVyZW5jZSBpbiBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9u Iik7CisJCQlicmVhazsKIAogCQkJLyoKIAkJCSAqIFRoZXJlIGlzIGludGVudGlvbmFsbHkgbm8g ZGVmYXVsdDogY2FzZSBoZXJlLCBzbyB0aGF0IHRoZQpAQCAtMTg2MSw2ICsxODY0LDkgQEAgdHJh bnNmb3JtU3ViTGluayhQYXJzZVN0YXRlICpwc3RhdGUsIFN1YkxpbmsgKnN1YmxpbmspCiAJCWNh c2UgRVhQUl9LSU5EX0dFTkVSQVRFRF9DT0xVTU46CiAJCQllcnIgPSBfKCJjYW5ub3QgdXNlIHN1 YnF1ZXJ5IGluIGNvbHVtbiBnZW5lcmF0aW9uIGV4cHJlc3Npb24iKTsKIAkJCWJyZWFrOworCQlj YXNlIEVYUFJfS0lORF9VUERBVEVfUE9SVElPTjoKKwkJCWVyciA9IF8oImNhbm5vdCB1c2Ugc3Vi cXVlcnkgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbiIpOworCQkJYnJlYWs7CiAKIAkJCS8q CiAJCQkgKiBUaGVyZSBpcyBpbnRlbnRpb25hbGx5IG5vIGRlZmF1bHQ6IGNhc2UgaGVyZSwgc28g dGhhdCB0aGUKQEAgLTMxNzQsNiArMzE4MCw4IEBAIFBhcnNlRXhwcktpbmROYW1lKFBhcnNlRXhw cktpbmQgZXhwcktpbmQpCiAJCQlyZXR1cm4gIlVQREFURSI7CiAJCWNhc2UgRVhQUl9LSU5EX01F UkdFX1dIRU46CiAJCQlyZXR1cm4gIk1FUkdFIFdIRU4iOworCQljYXNlIEVYUFJfS0lORF9VUERB VEVfUE9SVElPTjoKKwkJCXJldHVybiAiRk9SIFBPUlRJT04gT0YiOwogCQljYXNlIEVYUFJfS0lO RF9HUk9VUF9CWToKIAkJCXJldHVybiAiR1JPVVAgQlkiOwogCQljYXNlIEVYUFJfS0lORF9PUkRF Ul9CWToKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9mdW5jLmMgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCmluZGV4IDc3OGQ2OWM2ZjNjLi40NzY0ZGQyMWM5 MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX2Z1bmMuYworKysgYi9zcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfZnVuYy5jCkBAIC0yNzgzLDYgKzI3ODMsOSBAQCBjaGVja19z cmZfY2FsbF9wbGFjZW1lbnQoUGFyc2VTdGF0ZSAqcHN0YXRlLCBOb2RlICpsYXN0X3NyZiwgaW50 IGxvY2F0aW9uKQogCQljYXNlIEVYUFJfS0lORF9DWUNMRV9NQVJLOgogCQkJZXJya2luZCA9IHRy dWU7CiAJCQlicmVhazsKKwkJY2FzZSBFWFBSX0tJTkRfVVBEQVRFX1BPUlRJT046CisJCQllcnIg PSBfKCJzZXQtcmV0dXJuaW5nIGZ1bmN0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gRk9SIFBPUlRJ T04gT0YgZXhwcmVzc2lvbnMiKTsKKwkJCWJyZWFrOwogCiAJCQkvKgogCQkJICogVGhlcmUgaXMg aW50ZW50aW9uYWxseSBubyBkZWZhdWx0OiBjYXNlIGhlcmUsIHNvIHRoYXQgdGhlCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfbWVyZ2UuYyBiL3NyYy9iYWNrZW5kL3BhcnNl ci9wYXJzZV9tZXJnZS5jCmluZGV4IDUxZDc3MDNlZmY3Li5lZDI3NmM0MTQ2MCAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX21lcmdlLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX21lcmdlLmMKQEAgLTM4NSw3ICszODUsNyBAQCB0cmFuc2Zvcm1NZXJnZVN0bXQo UGFyc2VTdGF0ZSAqcHN0YXRlLCBNZXJnZVN0bXQgKnN0bXQpCiAJCQkJCXBzdGF0ZS0+cF9pc19p bnNlcnQgPSBmYWxzZTsKIAkJCQkJYWN0aW9uLT50YXJnZXRMaXN0ID0KIAkJCQkJCXRyYW5zZm9y bVVwZGF0ZVRhcmdldExpc3QocHN0YXRlLAotCQkJCQkJCQkJCQkJICBtZXJnZVdoZW5DbGF1c2Ut PnRhcmdldExpc3QpOworCQkJCQkJCQkJCQkJICBtZXJnZVdoZW5DbGF1c2UtPnRhcmdldExpc3Qs IE5VTEwpOwogCQkJCX0KIAkJCQlicmVhazsKIAkJCWNhc2UgQ01EX0RFTEVURToKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3Jld3JpdGUvcmV3cml0ZUhhbmRsZXIuYyBiL3NyYy9iYWNrZW5kL3Jl d3JpdGUvcmV3cml0ZUhhbmRsZXIuYwppbmRleCBhZGM5ZTc2MDBlMS4uZTg4M2I3ZjJhNjAgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Jld3JpdGUvcmV3cml0ZUhhbmRsZXIuYworKysgYi9zcmMv YmFja2VuZC9yZXdyaXRlL3Jld3JpdGVIYW5kbGVyLmMKQEAgLTM3MjksNiArMzcyOSwzMCBAQCBy ZXdyaXRlVGFyZ2V0VmlldyhRdWVyeSAqcGFyc2V0cmVlLCBSZWxhdGlvbiB2aWV3KQogCQkJCQkJ CQkJICAmcGFyc2V0cmVlLT5oYXNTdWJMaW5rcyk7CiAJfQogCisJaWYgKHBhcnNldHJlZS0+Zm9y UG9ydGlvbk9mICYmIHBhcnNldHJlZS0+Y29tbWFuZFR5cGUgPT0gQ01EX1VQREFURSkKKwl7CisJ CS8qCisJCSAqIExpa2UgdGhlIElOU0VSVC9VUERBVEUgY29kZSBhYm92ZSwgdXBkYXRlIHRoZSBy ZXNub3MgaW4gdGhlCisJCSAqIGF1eGlsaWFyeSBVUERBVEUgdGFyZ2V0bGlzdCB0byByZWZlciB0 byBjb2x1bW5zIG9mIHRoZSBiYXNlCisJCSAqIHJlbGF0aW9uLgorCQkgKi8KKwkJZm9yZWFjaChs YywgcGFyc2V0cmVlLT5mb3JQb3J0aW9uT2YtPnJhbmdlVGFyZ2V0TGlzdCkKKwkJeworCQkJVGFy Z2V0RW50cnkgKnRsZSA9IChUYXJnZXRFbnRyeSAqKSBsZmlyc3QobGMpOworCQkJVGFyZ2V0RW50 cnkgKnZpZXdfdGxlOworCisJCQlpZiAodGxlLT5yZXNqdW5rKQorCQkJCWNvbnRpbnVlOworCisJ CQl2aWV3X3RsZSA9IGdldF90bGVfYnlfcmVzbm8odmlld190YXJnZXRsaXN0LCB0bGUtPnJlc25v KTsKKwkJCWlmICh2aWV3X3RsZSAhPSBOVUxMICYmICF2aWV3X3RsZS0+cmVzanVuayAmJiBJc0Eo dmlld190bGUtPmV4cHIsIFZhcikpCisJCQkJdGxlLT5yZXNubyA9ICgoVmFyICopIHZpZXdfdGxl LT5leHByKS0+dmFyYXR0bm87CisJCQllbHNlCisJCQkJZWxvZyhFUlJPUiwgImF0dHJpYnV0ZSBu dW1iZXIgJWQgbm90IGZvdW5kIGluIHZpZXcgdGFyZ2V0bGlzdCIsCisJCQkJCSB0bGUtPnJlc25v KTsKKwkJfQorCX0KKwogCS8qCiAJICogRm9yIFVQREFURS9ERUxFVEUvTUVSR0UsIHB1bGwgdXAg YW55IFdIRVJFIHF1YWxzIGZyb20gdGhlIHZpZXcuICBXZQogCSAqIGtub3cgdGhhdCBhbnkgVmFy cyBpbiB0aGUgcXVhbHMgbXVzdCByZWZlcmVuY2UgdGhlIG9uZSBiYXNlIHJlbGF0aW9uLApAQCAt NDA2OCw2ICs0MDkyLDI1IEBAIFJld3JpdGVRdWVyeShRdWVyeSAqcGFyc2V0cmVlLCBMaXN0ICpy ZXdyaXRlX2V2ZW50cywgaW50IG9yaWdfcnRfbGVuZ3RoKQogCQllbHNlIGlmIChldmVudCA9PSBD TURfVVBEQVRFKQogCQl7CiAJCQlBc3NlcnQocGFyc2V0cmVlLT5vdmVycmlkZSA9PSBPVkVSUklE SU5HX05PVF9TRVQpOworCisJCQkvKgorCQkJICogVXBkYXRlIEZPUiBQT1JUSU9OIE9GIGNvbHVt bihzKSBhdXRvbWF0aWNhbGx5LiBEb24ndCBkbyB0aGlzCisJCQkgKiB1bnRpbCB3ZSdyZSBkb25l IHJld3JpdGluZyBhIHZpZXcgdXBkYXRlLCBzbyB0aGF0IHdlIGRvbid0IGFkZAorCQkJICogdGhl IHNhbWUgdXBkYXRlIG9uIHRoZSByZWN1cnNpb24uCisJCQkgKi8KKwkJCWlmIChwYXJzZXRyZWUt PmZvclBvcnRpb25PZiAmJgorCQkJCXJ0X2VudHJ5X3JlbGF0aW9uLT5yZF9yZWwtPnJlbGtpbmQg IT0gUkVMS0lORF9WSUVXKQorCQkJeworCQkJCUxpc3RDZWxsICAgKnRsOworCisJCQkJZm9yZWFj aCh0bCwgcGFyc2V0cmVlLT5mb3JQb3J0aW9uT2YtPnJhbmdlVGFyZ2V0TGlzdCkKKwkJCQl7CisJ CQkJCVRhcmdldEVudHJ5ICp0bGUgPSAoVGFyZ2V0RW50cnkgKikgbGZpcnN0KHRsKTsKKworCQkJ CQlwYXJzZXRyZWUtPnRhcmdldExpc3QgPSBsYXBwZW5kKHBhcnNldHJlZS0+dGFyZ2V0TGlzdCwg dGxlKTsKKwkJCQl9CisJCQl9CisKIAkJCXBhcnNldHJlZS0+dGFyZ2V0TGlzdCA9CiAJCQkJcmV3 cml0ZVRhcmdldExpc3RJVShwYXJzZXRyZWUtPnRhcmdldExpc3QsCiAJCQkJCQkJCQlwYXJzZXRy ZWUtPmNvbW1hbmRUeXBlLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3Ry aWdnZXJzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwppbmRleCAwNTlm YzVlYmY2MC4uZDZiMWViNTdhNDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9y aV90cmlnZ2Vycy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jCkBA IC0xMjgsNyArMTI4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUklfQ29uc3RyYWludEluZm8KIAlPaWQJ CQlmZl9lcV9vcHJzW1JJX01BWF9OVU1LRVlTXTsgLyogZXF1YWxpdHkgb3BlcmF0b3JzIChGSyA9 IEZLKSAqLwogCU9pZAkJCXBlcmlvZF9jb250YWluZWRfYnlfb3BlcjsJLyogYW55cmFuZ2UgPEAg YW55cmFuZ2UgKi8KIAlPaWQJCQlhZ2dlZF9wZXJpb2RfY29udGFpbmVkX2J5X29wZXI7IC8qIGZr YXR0ciA8QCByYW5nZV9hZ2cocGthdHRyKSAqLwotCU9pZAkJCXBlcmlvZF9pbnRlcnNlY3Rfb3Bl cjsJLyogYW55cmFuZ2UgKiBhbnlyYW5nZSAqLworCU9pZAkJCXBlcmlvZF9pbnRlcnNlY3Rfb3Bl cjsJLyogYW55cmFuZ2UgKiBhbnlyYW5nZSAob3IgbXVsdGlyYW5nZSkgKi8KIAlkbGlzdF9ub2Rl CXZhbGlkX2xpbms7CQkvKiBMaW5rIGluIGxpc3Qgb2YgdmFsaWQgZW50cmllcyAqLwogfSBSSV9D b25zdHJhaW50SW5mbzsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5 c2NhY2hlLmMgYi9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYwppbmRleCBmYTdj ZDdlMDZhNy4uNDMxNThhZmFjMTUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hl L2xzeXNjYWNoZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCkBA IC0yMzU1LDYgKzIzNTUsMzMgQEAgZ2V0X3R5cGlzZGVmaW5lZChPaWQgdHlwaWQpCiAJCXJldHVy biBmYWxzZTsKIH0KIAorLyoKKyAqIGdldF90eXBuYW1lX2FuZF9uYW1lc3BhY2UKKyAqCisgKgkg IFJldHVybnMgdGhlIG5hbWUgYW5kIG5hbWVzcGFjZSBvZiBhIGdpdmVuIHR5cGUKKyAqCisgKiBS ZXR1cm5zIHRydWUgaWYgb25lIGZvdW5kLCBvciBmYWxzZSBpZiBub3QuCisgKi8KK2Jvb2wKK2dl dF90eXBuYW1lX2FuZF9uYW1lc3BhY2UoT2lkIHR5cGlkLCBjaGFyICoqdHlwbmFtZSwgY2hhciAq KnR5cG5hbWVzcGFjZSkKK3sKKwlIZWFwVHVwbGUJdHA7CisKKwl0cCA9IFNlYXJjaFN5c0NhY2hl MShUWVBFT0lELCBPYmplY3RJZEdldERhdHVtKHR5cGlkKSk7CisJaWYgKEhlYXBUdXBsZUlzVmFs aWQodHApKQorCXsKKwkJRm9ybV9wZ190eXBlIHR5cHR1cCA9IChGb3JtX3BnX3R5cGUpIEdFVFNU UlVDVCh0cCk7CisKKwkJKnR5cG5hbWUgPSBwc3RyZHVwKE5hbWVTdHIodHlwdHVwLT50eXBuYW1l KSk7CisJCSp0eXBuYW1lc3BhY2UgPSBnZXRfbmFtZXNwYWNlX25hbWUodHlwdHVwLT50eXBuYW1l c3BhY2UpOworCQlSZWxlYXNlU3lzQ2FjaGUodHApOworCQkvKiAqdHlwbmFtZXNwYWNlIGlzIE5V TEwgaWYgaXQgd2Fzbid0IGZvdW5kOiAqLworCQlyZXR1cm4gKnR5cG5hbWVzcGFjZTsKKwl9CisJ ZWxzZQorCQlyZXR1cm4gZmFsc2U7Cit9CisKIC8qCiAgKiBnZXRfdHlwbGVuCiAgKgpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9l eGVjbm9kZXMuaAppbmRleCBhMzY2NTNjMzdmOS4uNzdjOTQ2OTEzOWIgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNu b2Rlcy5oCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAidXRpbHMvc29ydHN1cHBvcnQuaCIK ICNpbmNsdWRlICJ1dGlscy90dXBsZXNvcnQuaCIKICNpbmNsdWRlICJ1dGlscy90dXBsZXN0b3Jl LmgiCisjaW5jbHVkZSAidXRpbHMvdHlwY2FjaGUuaCIKIAogLyoKICAqIGZvcndhcmQgcmVmZXJl bmNlcyBpbiB0aGlzIGZpbGUKQEAgLTQ1Miw2ICs0NTMsMjQgQEAgdHlwZWRlZiBzdHJ1Y3QgTWVy Z2VBY3Rpb25TdGF0ZQogCUV4cHJTdGF0ZSAgKm1hc193aGVucXVhbDsJLyogV0hFTiBbTk9UXSBN QVRDSEVEIEFORCBjb25kaXRpb25zICovCiB9IE1lcmdlQWN0aW9uU3RhdGU7CiAKKy8qCisgKiBG b3JQb3J0aW9uT2ZTdGF0ZQorICoKKyAqIEV4ZWN1dG9yIHN0YXRlIG9mIGEgRk9SIFBPUlRJT04g T0Ygb3BlcmF0aW9uLgorICovCit0eXBlZGVmIHN0cnVjdCBGb3JQb3J0aW9uT2ZTdGF0ZQorewor CU5vZGVUYWcJCXR5cGU7CisKKwljaGFyCSAgICpmcF9yYW5nZU5hbWU7CS8qIHRoZSBjb2x1bW4g bmFtZWQgaW4gRk9SIFBPUlRJT04gT0YgKi8KKwlPaWQJCQlmcF9yYW5nZVR5cGU7CS8qIHRoZSB0 eXBlIG9mIHRoZSBGT1IgUE9SVElPTiBPRiBleHByZXNzaW9uICovCisJaW50CQkJZnBfcmFuZ2VB dHRubzsJLyogdGhlIGF0dG5vIG9mIHRoZSByYW5nZSBjb2x1bW4gKi8KKwlEYXR1bQkJZnBfdGFy Z2V0UmFuZ2U7IC8qIHRoZSByYW5nZS9tdWx0aXJhbmdlIGZyb20gRk9SIFBPUlRJT04gT0YgKi8K KwlUeXBlQ2FjaGVFbnRyeSAqZnBfbGVmdG92ZXJzdHlwY2FjaGU7CS8qIHR5cGUgY2FjaGUgZW50 cnkgb2YgdGhlIHJhbmdlICovCisJVHVwbGVUYWJsZVNsb3QgKmZwX0V4aXN0aW5nOwkvKiBzbG90 IHRvIHN0b3JlIG9sZCB0dXBsZSAqLworCVR1cGxlVGFibGVTbG90ICpmcF9MZWZ0b3ZlcjsJLyog c2xvdCB0byBzdG9yZSBsZWZ0b3ZlciAqLworfSBGb3JQb3J0aW9uT2ZTdGF0ZTsKKwogLyoKICAq IFJlc3VsdFJlbEluZm8KICAqCkBAIC01ODgsNiArNjA3LDkgQEAgdHlwZWRlZiBzdHJ1Y3QgUmVz dWx0UmVsSW5mbwogCS8qIGZvciBNRVJHRSwgZXhwciBzdGF0ZSBmb3IgY2hlY2tpbmcgdGhlIGpv aW4gY29uZGl0aW9uICovCiAJRXhwclN0YXRlICAqcmlfTWVyZ2VKb2luQ29uZGl0aW9uOwogCisJ LyogRk9SIFBPUlRJT04gT0YgZXZhbHVhdGlvbiBzdGF0ZSAqLworCUZvclBvcnRpb25PZlN0YXRl ICpyaV9mb3JQb3J0aW9uT2Y7CisKIAkvKiBwYXJ0aXRpb24gY2hlY2sgZXhwcmVzc2lvbiBzdGF0 ZSAoTlVMTCBpZiBub3Qgc2V0IHVwIHlldCkgKi8KIAlFeHByU3RhdGUgICpyaV9QYXJ0aXRpb25D aGVja0V4cHI7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaCBi L3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAppbmRleCBkYzA5ZDFhM2YwMy4uNWUxZWIw YjFkNDggMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BhcnNlbm9kZXMuaAorKysgYi9z cmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKQEAgLTE0Nyw2ICsxNDcsOSBAQCB0eXBlZGVm IHN0cnVjdCBRdWVyeQogCSAqLwogCWludAkJCXJlc3VsdFJlbGF0aW9uIHBnX25vZGVfYXR0cihx dWVyeV9qdW1ibGVfaWdub3JlKTsKIAorCS8qIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSBmb3IgVVBE QVRFL0RFTEVURSAqLworCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZjsKKwogCS8qIGhh cyBhZ2dyZWdhdGVzIGluIHRsaXN0IG9yIGhhdmluZ1F1YWwgKi8KIAlib29sCQloYXNBZ2dzIHBn X25vZGVfYXR0cihxdWVyeV9qdW1ibGVfaWdub3JlKTsKIAkvKiBoYXMgd2luZG93IGZ1bmN0aW9u cyBpbiB0bGlzdCAqLwpAQCAtMTYxMyw2ICsxNjE2LDIxIEBAIHR5cGVkZWYgc3RydWN0IFJvd01h cmtDbGF1c2UKIAlib29sCQlwdXNoZWREb3duOwkJLyogcHVzaGVkIGRvd24gZnJvbSBoaWdoZXIg cXVlcnkgbGV2ZWw/ICovCiB9IFJvd01hcmtDbGF1c2U7CiAKKy8qCisgKiBGb3JQb3J0aW9uT2ZD bGF1c2UKKyAqCQlyZXByZXNlbnRhdGlvbiBvZiBGT1IgUE9SVElPTiBPRiA8cGVyaW9kLW5hbWU+ IEZST00gPHRzPiBUTyA8dGU+CisgKgkJb3IgRk9SIFBPUlRJT04gT0YgPHBlcmlvZC1uYW1lPiAo PHRhcmdldD4pCisgKi8KK3R5cGVkZWYgc3RydWN0IEZvclBvcnRpb25PZkNsYXVzZQoreworCU5v ZGVUYWcJCXR5cGU7CisJY2hhcgkgICAqcmFuZ2VfbmFtZTsKKwlpbnQJCQlsb2NhdGlvbjsKKwlO b2RlCSAgICp0YXJnZXQ7CisJTm9kZQkgICAqdGFyZ2V0X3N0YXJ0OworCU5vZGUJICAgKnRhcmdl dF9lbmQ7Cit9IEZvclBvcnRpb25PZkNsYXVzZTsKKwogLyoKICAqIFdpdGhDbGF1c2UgLQogICoJ ICAgcmVwcmVzZW50YXRpb24gb2YgV0lUSCBjbGF1c2UKQEAgLTIxMjYsNiArMjE0NCw3IEBAIHR5 cGVkZWYgc3RydWN0IERlbGV0ZVN0bXQKIAlOb2RlCSAgICp3aGVyZUNsYXVzZTsJLyogcXVhbGlm aWNhdGlvbnMgKi8KIAlSZXR1cm5pbmdDbGF1c2UgKnJldHVybmluZ0NsYXVzZTsJLyogUkVUVVJO SU5HIGNsYXVzZSAqLwogCVdpdGhDbGF1c2UgKndpdGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAq LworCUZvclBvcnRpb25PZkNsYXVzZSAqZm9yUG9ydGlvbk9mOwkvKiBGT1IgUE9SVElPTiBPRiBj bGF1c2UgKi8KIH0gRGVsZXRlU3RtdDsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAt MjE0MSw2ICsyMTYwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVXBkYXRlU3RtdAogCUxpc3QJICAgKmZy b21DbGF1c2U7CQkvKiBvcHRpb25hbCBmcm9tIGNsYXVzZSBmb3IgbW9yZSB0YWJsZXMgKi8KIAlS ZXR1cm5pbmdDbGF1c2UgKnJldHVybmluZ0NsYXVzZTsJLyogUkVUVVJOSU5HIGNsYXVzZSAqLwog CVdpdGhDbGF1c2UgKndpdGhDbGF1c2U7CQkvKiBXSVRIIGNsYXVzZSAqLworCUZvclBvcnRpb25P ZkNsYXVzZSAqZm9yUG9ydGlvbk9mOwkvKiBGT1IgUE9SVElPTiBPRiBjbGF1c2UgKi8KIH0gVXBk YXRlU3RtdDsKIAogLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvbm9kZXMvcGF0aG5vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wYXRobm9kZXMuaApp bmRleCA3OTQwODc0MzE2Ni4uM2E2NDZjYWIxN2QgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25v ZGVzL3BhdGhub2Rlcy5oCisrKyBiL3NyYy9pbmNsdWRlL25vZGVzL3BhdGhub2Rlcy5oCkBAIC0y NjE2LDYgKzI2MTYsNyBAQCB0eXBlZGVmIHN0cnVjdCBNb2RpZnlUYWJsZVBhdGgKIAlMaXN0CSAg ICpyZXR1cm5pbmdMaXN0czsgLyogcGVyLXRhcmdldC10YWJsZSBSRVRVUk5JTkcgdGxpc3RzICov CiAJTGlzdAkgICAqcm93TWFya3M7CQkvKiBQbGFuUm93TWFya3MgKG5vbi1sb2NraW5nIG9ubHkp ICovCiAJT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3Q7IC8qIE9OIENPTkZMSUNUIGNsYXVzZSwg b3IgTlVMTCAqLworCUZvclBvcnRpb25PZkV4cHIgKmZvclBvcnRpb25PZjsgLyogRk9SIFBPUlRJ T04gT0YgY2xhdXNlIGZvciBVUERBVEUvREVMRVRFICovCiAJaW50CQkJZXBxUGFyYW07CQkvKiBJ RCBvZiBQYXJhbSBmb3IgRXZhbFBsYW5RdWFsIHJlLWV2YWwgKi8KIAlMaXN0CSAgICptZXJnZUFj dGlvbkxpc3RzOwkvKiBwZXItdGFyZ2V0LXRhYmxlIGxpc3RzIG9mIGFjdGlvbnMgZm9yCiAJCQkJ CQkJCQkgKiBNRVJHRSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvcGxhbm5vZGVz LmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9wbGFubm9kZXMuaAppbmRleCA3N2VjMmJjMTBiMi4uODJh NWMzYjNiNzYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCisrKyBi L3NyYy9pbmNsdWRlL25vZGVzL3BsYW5ub2Rlcy5oCkBAIC0zNzAsNiArMzcwLDggQEAgdHlwZWRl ZiBzdHJ1Y3QgTW9kaWZ5VGFibGUKIAlMaXN0CSAgICpvbkNvbmZsaWN0Q29sczsKIAkvKiBXSEVS RSBmb3IgT04gQ09ORkxJQ1QgVVBEQVRFICovCiAJTm9kZQkgICAqb25Db25mbGljdFdoZXJlOwor CS8qIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSBmb3IgVVBEQVRFL0RFTEVURSAqLworCU5vZGUJICAg KmZvclBvcnRpb25PZjsKIAkvKiBSVEkgb2YgdGhlIEVYQ0xVREVEIHBzZXVkbyByZWxhdGlvbiAq LwogCUluZGV4CQlleGNsUmVsUlRJOwogCS8qIHRsaXN0IG9mIHRoZSBFWENMVURFRCBwc2V1ZG8g cmVsYXRpb24gKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oIGIv c3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKaW5kZXggMWI0NDM2ZjJmZjYuLmZiYmNkNzdk ZDg0IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaAorKysgYi9zcmMv aW5jbHVkZS9ub2Rlcy9wcmltbm9kZXMuaApAQCAtMjM4NSw0ICsyMzg1LDMxIEBAIHR5cGVkZWYg c3RydWN0IE9uQ29uZmxpY3RFeHByCiAJTGlzdAkgICAqZXhjbFJlbFRsaXN0OwkvKiB0bGlzdCBv ZiB0aGUgRVhDTFVERUQgcHNldWRvIHJlbGF0aW9uICovCiB9IE9uQ29uZmxpY3RFeHByOwogCisv Ki0tLS0tLS0tLS0KKyAqIEZvclBvcnRpb25PZkV4cHIgLSByZXByZXNlbnRzIGEgRk9SIFBPUlRJ T04gT0YgLi4uIGV4cHJlc3Npb24KKyAqCisgKiBXZSBzZXQgdXAgYW4gZXhwcmVzc2lvbiB0byBt YWtlIGEgcmFuZ2UgZnJvbSB0aGUgRlJPTS9UTyBib3VuZHMsCisgKiBzbyB0aGF0IHdlIGNhbiB1 c2UgcmFuZ2Ugb3BlcmF0b3JzIHdpdGggaXQuCisgKgorICogVGhlbiB3ZSBzZXQgdXAgYW4gb3Zl cmxhcHMgZXhwcmVzc2lvbiBiZXR3ZWVuIHRoYXQgYW5kIHRoZSByYW5nZSBjb2x1bW4sCisgKiBz byB0aGF0IHdlIGNhbiBmaW5kIHRoZSByb3dzIHdlIG5lZWQgdG8gdXBkYXRlL2RlbGV0ZS4KKyAq CisgKiBJbiB0aGUgZXhlY3V0b3Igd2UnbGwgYWxzbyBidWlsZCBhbiBpbnRlcnNlY3QgZXhwcmVz c2lvbiBiZXR3ZWVuIHRoZQorICogdGFyZ2V0ZWQgcmFuZ2UgYW5kIHRoZSByYW5nZSBjb2x1bW4s IHNvIHRoYXQgd2UgY2FuIHVwZGF0ZSB0aGUgc3RhcnQvZW5kCisgKiBib3VuZHMgb2YgdGhlIFVQ REFURSdkIHJlY29yZC4KKyAqLS0tLS0tLS0tLQorICovCit0eXBlZGVmIHN0cnVjdCBGb3JQb3J0 aW9uT2ZFeHByCit7CisJTm9kZVRhZwkJdHlwZTsKKwlWYXIJCSAgICpyYW5nZVZhcjsJCS8qIFJh bmdlIGNvbHVtbiAqLworCWNoYXIJICAgKnJhbmdlX25hbWU7CQkvKiBSYW5nZSBuYW1lICovCisJ Tm9kZQkgICAqdGFyZ2V0UmFuZ2U7CS8qIEZPUiBQT1JUSU9OIE9GIGJvdW5kcyBhcyBhIHJhbmdl ICovCisJT2lkCQkJcmFuZ2VUeXBlOwkJLyogdHlwZSBvZiB0YXJnZXRSYW5nZSAqLworCU5vZGUJ ICAgKm92ZXJsYXBzRXhwcjsJLyogcmFuZ2UgJiYgdGFyZ2V0UmFuZ2UgKi8KKwlMaXN0CSAgICpy YW5nZVRhcmdldExpc3Q7CS8qIExpc3Qgb2YgVGFyZ2V0RW50cnlzIHRvIHNldCB0aGUgdGltZQor CQkJCQkJCQkJICogY29sdW1uKHMpICovCisJT2lkCQkJd2l0aG91dFBvcnRpb25Qcm9jOyAvKiBT UkYgcHJvYyBmb3Igb2xkX3JhbmdlIC0gdGFyZ2V0X3JhbmdlICovCit9IEZvclBvcnRpb25PZkV4 cHI7CisKICNlbmRpZgkJCQkJCQkvKiBQUklNTk9ERVNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvb3B0aW1pemVyL3BhdGhub2RlLmggYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcGF0aG5v ZGUuaAppbmRleCBkYTYwMzgzYzJhYS4uOGQ4ZWI4YmVmNjAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNs dWRlL29wdGltaXplci9wYXRobm9kZS5oCisrKyBiL3NyYy9pbmNsdWRlL29wdGltaXplci9wYXRo bm9kZS5oCkBAIC0yODcsNyArMjg3LDcgQEAgZXh0ZXJuIE1vZGlmeVRhYmxlUGF0aCAqY3JlYXRl X21vZGlmeXRhYmxlX3BhdGgoUGxhbm5lckluZm8gKnJvb3QsCiAJCQkJCQkJCQkJCQlMaXN0ICp3 aXRoQ2hlY2tPcHRpb25MaXN0cywgTGlzdCAqcmV0dXJuaW5nTGlzdHMsCiAJCQkJCQkJCQkJCQlM aXN0ICpyb3dNYXJrcywgT25Db25mbGljdEV4cHIgKm9uY29uZmxpY3QsCiAJCQkJCQkJCQkJCQlM aXN0ICptZXJnZUFjdGlvbkxpc3RzLCBMaXN0ICptZXJnZUpvaW5Db25kaXRpb25zLAotCQkJCQkJ CQkJCQkJaW50IGVwcVBhcmFtKTsKKwkJCQkJCQkJCQkJCUZvclBvcnRpb25PZkV4cHIgKmZvclBv cnRpb25PZiwgaW50IGVwcVBhcmFtKTsKIGV4dGVybiBMaW1pdFBhdGggKmNyZWF0ZV9saW1pdF9w YXRoKFBsYW5uZXJJbmZvICpyb290LCBSZWxPcHRJbmZvICpyZWwsCiAJCQkJCQkJCQlQYXRoICpz dWJwYXRoLAogCQkJCQkJCQkJTm9kZSAqbGltaXRPZmZzZXQsIE5vZGUgKmxpbWl0Q291bnQsCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIvYW5hbHl6ZS5oIGIvc3JjL2luY2x1ZGUvcGFy c2VyL2FuYWx5emUuaAppbmRleCBmMjllZDAzYjQ3Ni4uNDYxNGJlMDUyZGMgMTAwNjQ0Ci0tLSBh L3NyYy9pbmNsdWRlL3BhcnNlci9hbmFseXplLmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2Fu YWx5emUuaApAQCAtNDMsNyArNDMsOCBAQCBleHRlcm4gTGlzdCAqdHJhbnNmb3JtSW5zZXJ0Um93 KFBhcnNlU3RhdGUgKnBzdGF0ZSwgTGlzdCAqZXhwcmxpc3QsCiAJCQkJCQkJCUxpc3QgKnN0bXRj b2xzLCBMaXN0ICppY29sdW1ucywgTGlzdCAqYXR0cm5vcywKIAkJCQkJCQkJYm9vbCBzdHJpcF9p bmRpcmVjdGlvbik7CiBleHRlcm4gTGlzdCAqdHJhbnNmb3JtVXBkYXRlVGFyZ2V0TGlzdChQYXJz ZVN0YXRlICpwc3RhdGUsCi0JCQkJCQkJCQkgICBMaXN0ICpvcmlnVGxpc3QpOworCQkJCQkJCQkJ ICAgTGlzdCAqb3JpZ1RsaXN0LAorCQkJCQkJCQkJICAgRm9yUG9ydGlvbk9mRXhwciAqZm9yUG9y dGlvbk9mKTsKIGV4dGVybiB2b2lkIHRyYW5zZm9ybVJldHVybmluZ0NsYXVzZShQYXJzZVN0YXRl ICpwc3RhdGUsIFF1ZXJ5ICpxcnksCiAJCQkJCQkJCQkgUmV0dXJuaW5nQ2xhdXNlICpyZXR1cm5p bmdDbGF1c2UsCiAJCQkJCQkJCQkgUGFyc2VFeHByS2luZCBleHByS2luZCk7CmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0 LmgKaW5kZXggODQxODJlYWFhZTIuLmE4ZGVmM2EzODZjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9wYXJzZXIva3dsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3bGlzdC5oCkBAIC0z NDYsNiArMzQ2LDcgQEAgUEdfS0VZV09SRCgicGxhY2luZyIsIFBMQUNJTkcsIFJFU0VSVkVEX0tF WVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwbGFuIiwgUExBTiwgVU5SRVNFUlZFRF9L RVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGxhbnMiLCBQTEFOUywgVU5SRVNFUlZF RF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicG9saWN5IiwgUE9MSUNZLCBVTlJF U0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCitQR19LRVlXT1JEKCJwb3J0aW9uIiwgUE9SVElP TiwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgicG9zaXRpb24i LCBQT1NJVElPTiwgQ09MX05BTUVfS0VZV09SRCwgQkFSRV9MQUJFTCkKIFBHX0tFWVdPUkQoInBy ZWNlZGluZyIsIFBSRUNFRElORywgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdf S0VZV09SRCgicHJlY2lzaW9uIiwgUFJFQ0lTSU9OLCBDT0xfTkFNRV9LRVlXT1JELCBBU19MQUJF TCkKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmggYi9zcmMvaW5j bHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCmluZGV4IGY3ZDA3Yzg0NTQyLi4zZTQ1N2Q5NjFmZSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX25vZGUuaAorKysgYi9zcmMvaW5j bHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCkBAIC01Niw2ICs1Niw3IEBAIHR5cGVkZWYgZW51bSBQ YXJzZUV4cHJLaW5kCiAJRVhQUl9LSU5EX1VQREFURV9TT1VSQ0UsCS8qIFVQREFURSBhc3NpZ25t ZW50IHNvdXJjZSBpdGVtICovCiAJRVhQUl9LSU5EX1VQREFURV9UQVJHRVQsCS8qIFVQREFURSBh c3NpZ25tZW50IHRhcmdldCBpdGVtICovCiAJRVhQUl9LSU5EX01FUkdFX1dIRU4sCQkvKiBNRVJH RSBXSEVOIFtOT1RdIE1BVENIRUQgY29uZGl0aW9uICovCisJRVhQUl9LSU5EX1VQREFURV9QT1JU SU9OLAkvKiBVUERBVEUgRk9SIFBPUlRJT04gT0YgaXRlbSAqLwogCUVYUFJfS0lORF9HUk9VUF9C WSwJCQkvKiBHUk9VUCBCWSAqLwogCUVYUFJfS0lORF9PUkRFUl9CWSwJCQkvKiBPUkRFUiBCWSAq LwogCUVYUFJfS0lORF9ESVNUSU5DVF9PTiwJCS8qIERJU1RJTkNUIE9OICovCmRpZmYgLS1naXQg YS9zcmMvaW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNj YWNoZS5oCmluZGV4IDUwZmIxNDllOWFjLi41YjUwZWYyMzBhYiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hl LmgKQEAgLTE1MCw2ICsxNTAsNyBAQCBleHRlcm4gT2lkCWdldF9yZWxfcmVsYW0oT2lkIHJlbGlk KTsKIGV4dGVybiBPaWQJZ2V0X3RyYW5zZm9ybV9mcm9tc3FsKE9pZCB0eXBpZCwgT2lkIGxhbmdp ZCwgTGlzdCAqdHJmdHlwZXMpOwogZXh0ZXJuIE9pZAlnZXRfdHJhbnNmb3JtX3Rvc3FsKE9pZCB0 eXBpZCwgT2lkIGxhbmdpZCwgTGlzdCAqdHJmdHlwZXMpOwogZXh0ZXJuIGJvb2wgZ2V0X3R5cGlz ZGVmaW5lZChPaWQgdHlwaWQpOworZXh0ZXJuIGJvb2wgZ2V0X3R5cG5hbWVfYW5kX25hbWVzcGFj ZShPaWQgdHlwaWQsIGNoYXIgKip0eXBuYW1lLCBjaGFyICoqdHlwbmFtZXNwYWNlKTsKIGV4dGVy biBpbnQxNiBnZXRfdHlwbGVuKE9pZCB0eXBpZCk7CiBleHRlcm4gYm9vbCBnZXRfdHlwYnl2YWwo T2lkIHR5cGlkKTsKIGV4dGVybiB2b2lkIGdldF90eXBsZW5ieXZhbChPaWQgdHlwaWQsIGludDE2 ICp0eXBsZW4sIGJvb2wgKnR5cGJ5dmFsKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9m b3JfcG9ydGlvbl9vZi5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAu LjkyODhiNDIyNGY3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9mb3JfcG9ydGlvbl9vZi5vdXQKQEAgLTAsMCArMSwxMjQ4IEBACistLSBUZXN0cyBmb3IgVVBE QVRFL0RFTEVURSBGT1IgUE9SVElPTiBPRgorU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsKKy0t IFdvcmtzIG9uIG5vbi1QSyBjb2x1bW5zCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVz dCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQg Tk9UIE5VTEwKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRf YXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMjAtMDEtMDEpJywg J29uZScpOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1lID0gJ29u ZV4xJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0xNScgVE8gJzIwMTktMDEtMjAnOworLS0gV2l0aCBhIHRh YmxlIGFsaWFzIHdpdGggQVMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDItMDEnIFRPICcyMDE5LTAyLTAzJyBBUyB0Cisg IFNFVCBuYW1lID0gJ29uZV4yJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wMycgVE8gJzIwMTktMDItMDQn IEFTIHQ7CistLSBXaXRoIGEgdGFibGUgYWxpYXMgd2l0aG91dCBBUworVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wNCcg VE8gJzIwMTktMDItMDUnIHQKKyAgU0VUIG5hbWUgPSAnb25lXjMnOworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAy LTA1JyBUTyAnMjAxOS0wMi0wNicgdDsKKy0tIFVQREFURSB3aXRoIEZST00KK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDMt MDEnIHRvICcyMDE5LTAzLTAyJworICBTRVQgbmFtZSA9ICdvbmVeNCcKKyAgRlJPTSAoU0VMRUNU ICdbMSwyKSc6OmludDRyYW5nZSkgQVMgdDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9uX29mX3Rl c3QuaWQgPSB0Mi5pZDsKKy0tIERFTEVURSB3aXRoIFVTSU5HCitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDMtMDIn IFRPICcyMDE5LTAzLTAzJworICBVU0lORyAoU0VMRUNUICdbMSwyKSc6OmludDRyYW5nZSkgQVMg dDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9uX29mX3Rlc3QuaWQgPSB0Mi5pZDsKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEtMTUpIHwg b25lCisgWzEsMikgfCBbMjAxOC0wMS0xNSwyMDE5LTAxLTAxKSB8IG9uZV4xCisgWzEsMikgfCBb MjAxOS0wMS0wMSwyMDE5LTAxLTE1KSB8IG9uZQorIFsxLDIpIHwgWzIwMTktMDEtMjAsMjAxOS0w Mi0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE5LTAyLTAxLDIwMTktMDItMDMpIHwgb25lXjIKKyBb MSwyKSB8IFsyMDE5LTAyLTA0LDIwMTktMDItMDUpIHwgb25lXjMKKyBbMSwyKSB8IFsyMDE5LTAy LTA2LDIwMTktMDMtMDEpIHwgb25lCisgWzEsMikgfCBbMjAxOS0wMy0wMSwyMDE5LTAzLTAyKSB8 IG9uZV40CisgWzEsMikgfCBbMjAxOS0wMy0wMywyMDIwLTAxLTAxKSB8IG9uZQorKDkgcm93cykK KworLS0gV29ya3Mgb24gbW9yZSB0aGFuIG9uZSByYW5nZQorRFJPUCBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkMV9hdCBkYXRlcmFuZ2UsCisgIHZhbGlkMl9hdCBkYXRlcmFuZ2UsCisg IG5hbWUgdGV4dCBOT1QgTlVMTAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KGlkLCB2YWxpZDFfYXQsIHZhbGlkMl9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIw MTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSknLCAnb25lJyk7 CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZDFfYXQg RlJPTSAnMjAxOC0wMS0xNScgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdmb28nOworICBTRUxFQ1Qg KiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkMV9hdCwgdmFsaWQy X2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkMV9hdCAgICAgICAgfCAgICAgICAgdmFsaWQyX2F0 ICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEt MTUpIHwgWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTE1 LDIwMTgtMDItMDMpIHwgWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSkgfCBmb28KKygyIHJvd3MpCisK K1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkMl9hdCBG Uk9NICcyMDE4LTAxLTE1JyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2Jhcic7CisgIFNFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJf YXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWQxX2F0ICAgICAgICB8ICAgICAgICB2YWxpZDJfYXQg ICAgICAgIHwgbmFtZSAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQorIFsxLDIpIHwgWzIwMTgtMDEtMDIsMjAxOC0wMS0x NSkgfCBbMjAxNS0wMS0wMSwyMDE4LTAxLTE1KSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDEtMDIs MjAxOC0wMS0xNSkgfCBbMjAxOC0wMS0xNSwyMDI1LTAxLTAxKSB8IGJhcgorIFsxLDIpIHwgWzIw MTgtMDEtMTUsMjAxOC0wMi0wMykgfCBbMjAxNS0wMS0wMSwyMDE4LTAxLTE1KSB8IGZvbworIFsx LDIpIHwgWzIwMTgtMDEtMTUsMjAxOC0wMi0wMykgfCBbMjAxOC0wMS0xNSwyMDI1LTAxLTAxKSB8 IGJhcgorKDQgcm93cykKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZDFfYXQgRlJPTSAnMjAxOC0wMS0yMCcgVE8gTlVMTDsKKyAgU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZDFfYXQsIHZhbGlk Ml9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZDFfYXQgICAgICAgIHwgICAgICAgIHZhbGlkMl9h dCAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwyMDE4LTAx LTE1KSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMS0w MiwyMDE4LTAxLTE1KSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEpIHwgYmFyCisgWzEsMikgfCBb MjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE1LTAxLTAxLDIwMTgtMDEtMTUpIHwgZm9vCisg WzEsMikgfCBbMjAxOC0wMS0xNSwyMDE4LTAxLTIwKSB8IFsyMDE4LTAxLTE1LDIwMjUtMDEtMDEp IHwgYmFyCisoNCByb3dzKQorCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkMl9hdCBGUk9NICcyMDE4LTAxLTIwJyBUTyBOVUxMOworICBTRUxF Q1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkMV9hdCwgdmFs aWQyX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkMV9hdCAgICAgICAgfCAgICAgICAgdmFsaWQy X2F0ICAgICAgICB8IG5hbWUgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgt MDEtMTUpIHwgWzIwMTUtMDEtMDEsMjAxOC0wMS0xNSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAx LTAyLDIwMTgtMDEtMTUpIHwgWzIwMTgtMDEtMTUsMjAxOC0wMS0yMCkgfCBiYXIKKyBbMSwyKSB8 IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjApIHwgWzIwMTUtMDEtMDEsMjAxOC0wMS0xNSkgfCBmb28K KyBbMSwyKSB8IFsyMDE4LTAxLTE1LDIwMTgtMDEtMjApIHwgWzIwMTgtMDEtMTUsMjAxOC0wMS0y MCkgfCBiYXIKKyg0IHJvd3MpCisKKy0tIFRlc3Qgd2l0aCBOVUxMcyBpbiB0aGUgc2NhbGFyL3Jh bmdlIGtleSBjb2x1bW5zLgorLS0gVGhpcyB3b24ndCBoYXBwZW4gaWYgdGhlcmUgaXMgYSBQUklN QVJZIEtFWSBvciBVTklRVUUgY29uc3RyYWludAorLS0gYnV0IEZPUiBQT1JUSU9OIE9GIHNob3Vs ZG4ndCByZXF1aXJlIHRoYXQuCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVB VEUgVU5MT0dHRUQgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3Jf cG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywg TlVMTCwgJzEgbnVsbCcpLAorICAoJ1sxLDIpJywgJygsKScsICcxIHVuYm91bmRlZCcpLAorICAo J1sxLDIpJywgJ2VtcHR5JywgJzEgZW1wdHknKSwKKyAgKE5VTEwsIE5VTEwsIE5VTEwpLAorICAo TlVMTCwgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTktMDEtMDEnKSwgJ251bGwga2V5Jyk7 CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NIE5VTEwgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdOVUxMIHRvIE5VTEwnOworU0VMRUNUICog RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgICAgIG5hbWUgICAgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tCisgWzEsMikgfCBlbXB0eSAgICAgICAg ICAgICAgICAgICB8IDEgZW1wdHkKKyBbMSwyKSB8ICgsKSAgICAgICAgICAgICAgICAgICAgIHwg TlVMTCB0byBOVUxMCisgWzEsMikgfCAgICAgICAgICAgICAgICAgICAgICAgICB8IDEgbnVsbAor ICAgICAgIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBOVUxMIHRvIE5VTEwKKyAgICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisoNSByb3dzKQorCitEUk9QIFRBQkxFIGZvcl9w b3J0aW9uX29mX3Rlc3Q7CistLQorLS0gVVBEQVRFIHRlc3RzCistLQorQ1JFQVRFIFRBQkxFIGZv cl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2UgTk9UIE5VTEwsCisgIHZhbGlkX2F0 IGRhdGVyYW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBDT05TVFJBSU5U IGZvcl9wb3J0aW9uX29mX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQs IG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywgJ29u ZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJywgJ29uZScpLAorICAo J1sxLDIpJywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJywgJ29uZScpLAorICAoJ1syLDMpJywg J1syMDE4LTAxLTAxLDIwMTgtMDEtMDUpJywgJ3R3bycpLAorICAoJ1szLDQpJywgJ1syMDE4LTAx LTAxLCknLCAndGhyZWUnKSwKKyAgKCdbNCw1KScsICcoLDIwMTgtMDQtMDEpJywgJ2ZvdXInKSwK KyAgKCdbNSw2KScsICcoLCknLCAnZml2ZScpCisgIDsKK1xzZXQgUVVJRVQgZmFsc2UKKy0tIFVw ZGF0aW5nIHdpdGggYSBtaXNzaW5nIGNvbHVtbiBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgaW52YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBO VUxMCisgIFNFVCBuYW1lID0gJ2ZvbycKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICBj b2x1bW4gb3IgcGVyaW9kICJpbnZhbGlkX2F0IiBvZiByZWxhdGlvbiAiZm9yX3BvcnRpb25fb2Zf dGVzdCIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiBpbnZhbGlkX2F0 IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgICAgICAgICAgICAgICAgICAgICAgICBeCist LSBVcGRhdGluZyB0aGUgcmFuZ2UgZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0Cisg IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgU0VU IHZhbGlkX2F0ID0gJ1sxOTkwLTAxLTAxLDE5OTktMDEtMDEpJworICBXSEVSRSBpZCA9ICdbNSw2 KSc7CitFUlJPUjogIGNhbid0IGRpcmVjdGx5IGFzc2lnbiB0byAidmFsaWRfYXQiIGluIGEgRk9S IFBPUlRJT04gT0YgdXBkYXRlCitMSU5FIDM6ICAgU0VUIHZhbGlkX2F0ID0gJ1sxOTkwLTAxLTAx LDE5OTktMDEtMDEpJworICAgICAgICAgICAgICBeCistLSBUaGUgd3JvbmcgdHlwZSBmYWlscwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAxIFRPIDQKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJS T1I6ICBmdW5jdGlvbiBwZ19jYXRhbG9nLmRhdGVyYW5nZShpbnRlZ2VyLCBpbnRlZ2VyKSBkb2Vz IG5vdCBleGlzdAorTElORSAyOiAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gMSBUTyA0 CisgICAgICAgICAgICAgICAgICAgICAgICAgXgorREVUQUlMOiAgTm8gZnVuY3Rpb24gb2YgdGhh dCBuYW1lIGFjY2VwdHMgdGhlIGdpdmVuIGFyZ3VtZW50IHR5cGVzLgorSElOVDogIFlvdSBtaWdo dCBuZWVkIHRvIGFkZCBleHBsaWNpdCB0eXBlIGNhc3RzLgorLS0gVXBkYXRpbmcgd2l0aCB0aW1l c3RhbXBzIHJldmVyc2VkIGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyAnMjAxOC0wMS0wMScKKyAg U0VUIG5hbWUgPSAndGhyZWVeMScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJST1I6ICByYW5n ZSBsb3dlciBib3VuZCBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byByYW5nZSB1cHBlciBi b3VuZAorLS0gVXBkYXRpbmcgd2l0aCBhIHN1YnF1ZXJ5IGZhaWxzCitVUERBVEUgZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxFQ1QgJzIwMTgt MDEtMDEnKSBUTyAnMjAxOC0wNi0wMScKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQg PSAnWzMsNCknOworRVJST1I6ICBjYW5ub3QgdXNlIHN1YnF1ZXJ5IGluIEZPUiBQT1JUSU9OIE9G IGV4cHJlc3Npb24KK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxF Q1QgJzIwMTgtMDEtMDEnKSBUTyAnMjAxLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCistLSBVcGRhdGluZyB3aXRoIGEgY29sdW1uIGZhaWxzCitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIGxvd2VyKHZh bGlkX2F0KSBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ25vcGUnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKK0VSUk9SOiAgY2Fubm90IHVzZSBjb2x1bW4gcmVmZXJlbmNlIGluIEZPUiBQT1JUSU9OIE9G IGV4cHJlc3Npb24KK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIGxvd2Vy KHZhbGlkX2F0KSBUTyBOVUxMCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCistLSBVcGRhdGluZyB3aXRoIHRpbWVzdGFtcHMgZXF1YWwgZG9lcyBub3RoaW5n CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTA0LTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgU0VUIG5hbWUgPSAndGhyZWVeMCcK KyAgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIDAKKy0tIFVwZGF0aW5nIGEgZmluaXRlL29w ZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBO VUxMCisgIFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK1VQREFU RSAyCistLSBVcGRhdGluZyBhIGZpbml0ZS9vcGVuIHBvcnRpb24gd2l0aCBhbiBvcGVuL2Zpbml0 ZSB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMy0wMScKKyAgU0VUIG5hbWUgPSAndGhyZWVeMicK KyAgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIDIKKy0tIFVwZGF0aW5nIGFuIG9wZW4vZmlu aXRlIHBvcnRpb24gd2l0aCBhbiBvcGVuL2Zpbml0ZSB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0w Mi0wMScKKyAgU0VUIG5hbWUgPSAnZm91cl4xJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CitVUERB VEUgMgorLS0gVXBkYXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGEgZmluaXRlL29w ZW4gdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE3LTAxLTAxJyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2ZvdXJeMicK KyAgV0hFUkUgaWQgPSAnWzQsNSknOworVVBEQVRFIDMKKy0tIFVwZGF0aW5nIGEgZmluaXRlL2Zp bml0ZSBwb3J0aW9uIHdpdGggYW4gZXhhY3QgZml0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE3LTAxLTAxJyBUTyAnMjAxOC0w Mi0wMScKKyAgU0VUIG5hbWUgPSAnZm91cl4zJworICBXSEVSRSBpZCA9ICdbNCw1KSc7CitVUERB VEUgMQorLS0gVXBkYXRpbmcgYW4gZW5jbG9zZWQgc3BhbgorVVBEQVRFIGZvcl9wb3J0aW9uX29m X3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPIE5VTEwKKyAgU0VU IG5hbWUgPSAndHdvXjInCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1VQREFURSAxCistLSBVcGRh dGluZyBhbiBvcGVuL29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL2Zpbml0ZSB0YXJnZXQKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZlXjEnCisgIFdI RVJFIGlkID0gJ1s1LDYpJzsKK1VQREFURSAzCistLSBVcGRhdGluZyBhbiBlbmNsb3NlZCBzcGFu IHdpdGggc2VwYXJhdGUgcHJvdHJ1ZGluZyBzcGFucworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxNy0wMS0wMScgVE8gJzIwMjAt MDEtMDEnCisgIFNFVCBuYW1lID0gJ2ZpdmVeMicKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworVVBE QVRFIDUKKy0tIFVwZGF0aW5nIG11bHRpcGxlIGVuY2xvc2VkIHNwYW5zCitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gTlVM TAorICBTRVQgbmFtZSA9ICdvbmVeMicKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIDMK Ky0tIFVwZGF0aW5nIHdpdGggYSBkaXJlY3QgdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJhbmdlKCcyMDE4LTAzLTEwJywg JzIwMTgtMDMtMTcnKSkKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gJ1sxLDIp JzsKK1VQREFURSAzCistLSBVcGRhdGluZyB0aGUgbm9uLXJhbmdlIHBhcnQgb2YgdGhlIFBLOgor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wMi0xNScgVE8gTlVMTAorICBTRVQgaWQgPSAnWzYsNyknCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKK1VQREFURSA1CistLSBVUERBVEUgd2l0aCBubyBXSEVSRSBjbGF1c2UKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MzAtMDEtMDEnIFRPIE5VTEwKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcqJzsKK1VQREFURSA0CitT RUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tCisgWzEsMikgfCBbMjAxOC0wMS0wMiwy MDE4LTAyLTAzKSB8IG9uZV4yCisgWzEsMikgfCBbMjAxOC0wMi0wMywyMDE4LTAyLTE1KSB8IG9u ZV4yCisgWzIsMykgfCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSB8IHR3b14yCisgWzMsNCkgfCBb MjAxOC0wMS0wMSwyMDE4LTAzLTAxKSB8IHRocmVlXjIKKyBbMyw0KSB8IFsyMDE4LTAzLTAxLDIw MTgtMDYtMDEpIHwgdGhyZWUKKyBbMyw0KSB8IFsyMDE4LTA2LTAxLDIwMzAtMDEtMDEpIHwgdGhy ZWVeMQorIFszLDQpIHwgWzIwMzAtMDEtMDEsKSAgICAgICAgICAgfCB0aHJlZV4xKgorIFs0LDUp IHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBmb3VyXjEKKyBbNCw1KSB8IFsyMDE3LTAxLTAx LDIwMTgtMDItMDEpIHwgZm91cl4zCisgWzQsNSkgfCBbMjAxOC0wMi0wMSwyMDE4LTA0LTAxKSB8 IGZvdXJeMgorIFs1LDYpIHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBmaXZlCisgWzUsNikg fCBbMjAxNy0wMS0wMSwyMDE4LTAxLTAxKSB8IGZpdmVeMgorIFs1LDYpIHwgWzIwMTgtMDEtMDEs MjAxOS0wMS0wMSkgfCBmaXZlXjIKKyBbNSw2KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwg Zml2ZV4yCisgWzUsNikgfCBbMjAyMC0wMS0wMSwyMDMwLTAxLTAxKSB8IGZpdmUKKyBbNSw2KSB8 IFsyMDMwLTAxLTAxLCkgICAgICAgICAgIHwgZml2ZSoKKyBbNiw3KSB8IFsyMDE4LTAyLTE1LDIw MTgtMDMtMDMpIHwgb25lXjIKKyBbNiw3KSB8IFsyMDE4LTAzLTAzLDIwMTgtMDMtMTApIHwgb25l XjIKKyBbNiw3KSB8IFsyMDE4LTAzLTEwLDIwMTgtMDMtMTcpIHwgb25lXjMKKyBbNiw3KSB8IFsy MDE4LTAzLTE3LDIwMTgtMDQtMDQpIHwgb25lXjIKKygyMCByb3dzKQorCitcc2V0IFFVSUVUIHRy dWUKKy0tIFVwZGF0aW5nIHdpdGggYSBzaGlmdC9yZWR1Y2UgY29uZmxpY3QKKy0tIChyZXF1aXJl cyBhIHRzcmFuZ2UgY29sdW1uKQorQ1JFQVRFIFVOTE9HR0VEIFRBQkxFIGZvcl9wb3J0aW9uX29m X3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCB0c3JhbmdlLAorICBuYW1lIHRl eHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBu YW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUn KTsKKy0tIHVwZGF0ZXMgWzIwMTEtMDMtMDEgMDE6MDI6MDAsIDIwMTItMDEtMDEpIChub3RlIDIg bWludXRlcykKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdAorICAgIEZST00gJzIwMTEtMDMtMDEnOjp0aW1lc3RhbXAgKyBJTlRFUlZBTCAnMTow MjowMycgSE9VUiBUTyBNSU5VVEUKKyAgICBUTyAnMjAxMi0wMS0wMScKKyAgU0VUIG5hbWUgPSAn b25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIFRPIGlzIHVzZWQgZm9yIHRoZSBib3Vu ZCBidXQgbm90IHRoZSBJTlRFUlZBTDoKKy0tIHN5bnRheCBlcnJvcgorVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0CisgICAgRlJPTSAnMjAxMy0w My0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAyOjAzJyBIT1VSCisgICAgVE8gJzIwMTQt MDEtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4yJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJP UjogIHN5bnRheCBlcnJvciBhdCBvciBuZWFyICInMjAxNC0wMS0wMSciCitMSU5FIDQ6ICAgICBU TyAnMjAxNC0wMS0wMScKKyAgICAgICAgICAgICAgIF4KKy0tIGFkZGluZyBwYXJlbnMgZml4ZXMg aXQKKy0tIHVwZGF0ZXMgWzIwMTUtMDMtMDEgMDE6MDA6MDAsIDIwMTYtMDEtMDEpIChubyBtaW51 dGVzKQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0CisgICAgRlJPTSAoJzIwMTUtMDMtMDEnOjp0aW1lc3RhbXAgKyBJTlRFUlZBTCAnMTowMjow MycgSE9VUikKKyAgICBUTyAnMjAxNi0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQg ICAgICAgICAgICAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsiMjAwMC0wMS0w MSAwMDowMDowMCIsIjIwMTEtMDMtMDEgMDE6MDI6MDAiKSB8IG9uZQorIFsxLDIpIHwgWyIyMDEx LTAzLTAxIDAxOjAyOjAwIiwiMjAxMi0wMS0wMSAwMDowMDowMCIpIHwgb25lXjEKKyBbMSwyKSB8 IFsiMjAxMi0wMS0wMSAwMDowMDowMCIsIjIwMTUtMDMtMDEgMDE6MDA6MDAiKSB8IG9uZQorIFsx LDIpIHwgWyIyMDE1LTAzLTAxIDAxOjAwOjAwIiwiMjAxNi0wMS0wMSAwMDowMDowMCIpIHwgb25l XjMKKyBbMSwyKSB8IFsiMjAxNi0wMS0wMSAwMDowMDowMCIsIjIwMjAtMDEtMDEgMDA6MDA6MDAi KSB8IG9uZQorKDUgcm93cykKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKy0t IFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIENURToKKy0tIFZpc2libGUgdG8gU0VMRUNUOgor SU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxV RVMKKyAgKCdbMTAsMTEpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ3RlbicpOworV0lU SCB1cGRhdGVfYXByIEFTICgKKyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA0LTAxJyBUTyAnMjAxOC0wNS0wMScKKyAg ICBTRVQgbmFtZSA9ICdBcHIgMjAxOCcKKyAgICBXSEVSRSBpZCA9ICdbMTAsMTEpJworICAgIFJF VFVSTklORyBpZCwgdmFsaWRfYXQsIG5hbWUKKykKK1NFTEVDVCAqCisgIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBBUyB0LCB1cGRhdGVfYXByCisgIFdIRVJFIHQuaWQgPSB1cGRhdGVfYXByLmlk OworICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgfCAgIGlkICAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tCisgWzEwLDExKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgdGVuICB8 IFsxMCwxMSkgfCBbMjAxOC0wNC0wMSwyMDE4LTA1LTAxKSB8IEFwciAyMDE4CisoMSByb3cpCisK K1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTAsMTEpJzsK KyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCAgIG5hbWUgICAKKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTgt MDQtMDEsMjAxOC0wNS0wMSkgfCBBcHIgMjAxOAorIFsxMCwxMSkgfCBbMjAxOC0wMS0wMSwyMDE4 LTA0LTAxKSB8IHRlbgorIFsxMCwxMSkgfCBbMjAxOC0wNS0wMSwyMDIwLTAxLTAxKSB8IHRlbgor KDMgcm93cykKKworLS0gTm90IHZpc2libGUgdG8gVVBEQVRFOgorLS0gVHVwbGVzIHVwZGF0ZWQv aW5zZXJ0ZWQgd2l0aGluIHRoZSBDVEUgYXJlIG5vdCB2aXNpYmxlIHRvIHRoZSBtYWluIHF1ZXJ5 IHlldCwKKy0tIGJ1dCBuZWl0aGVyIGFyZSBvbGQgdHVwbGVzIHRoZSBDVEUgY2hhbmdlZDoKK0lO U0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CisgICgnWzExLDEyKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdlbGV2ZW4nKTsKK1dJ VEggdXBkYXRlX2FwciBBUyAoCisgIFVQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDUtMDEnCisg ICAgU0VUIG5hbWUgPSAnQXByIDIwMTgnCisgICAgV0hFUkUgaWQgPSAnWzExLDEyKScKKyAgICBS RVRVUk5JTkcgaWQsIHZhbGlkX2F0LCBuYW1lCispCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1LTAxJyBUTyAnMjAxOC0w Ni0wMScKKyAgQVMgdAorICBTRVQgbmFtZSA9ICdNYXkgMjAxOCcKKyAgRlJPTSB1cGRhdGVfYXBy IEFTIGoKKyAgV0hFUkUgdC5pZCA9IGouaWQ7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29m X3Rlc3QgV0hFUkUgaWQgPSAnWzExLDEyKSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgICBuYW1lICAgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tCisgWzExLDEyKSB8IFsyMDE4LTA0LTAxLDIwMTgtMDUtMDEpIHwgQXByIDIwMTgK KyBbMTEsMTIpIHwgWzIwMTgtMDEtMDEsMjAxOC0wNC0wMSkgfCBlbGV2ZW4KKyBbMTEsMTIpIHwg WzIwMTgtMDUtMDEsMjAyMC0wMS0wMSkgfCBlbGV2ZW4KKygzIHJvd3MpCisKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgSU4gKCdbMTAsMTEpJywgJ1sxMSwxMiknKTsK Ky0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIFBML3BnU1FMIGZ1bmN0aW9uCitJTlNFUlQg SU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAo J1sxMCwxMSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGVuJyk7CitDUkVBVEUgRlVO Q1RJT04gZnBvX3VwZGF0ZShfaWQgaW50NHJhbmdlLCBfdGFyZ2V0X2Zyb20gZGF0ZSwgX3Rhcmdl dF90aWwgZGF0ZSkKK1JFVFVSTlMgdm9pZCBMQU5HVUFHRSBwbHBnc3FsIEFTCiskJAorQkVHSU4K KyAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICQyIFRPICQzCisgICAgU0VUIG5hbWUgPSBjb25jYXQoX3RhcmdldF9mcm9tOjp0ZXh0 LCAnIHRvICcsIF90YXJnZXRfdGlsOjp0ZXh0KQorICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7Cisk JDsKK1NFTEVDVCBmcG9fdXBkYXRlKCdbMTAsMTEpJywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0w MScpOworIGZwb191cGRhdGUgCistLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUICog RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworICAgaWQgICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICAgICAgICAgICBuYW1lICAgICAgICAgICAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgWzEwLDExKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgMjAxNS0wMS0wMSB0byAy MDE5LTAxLTAxCisgWzEwLDExKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgdGVuCisoMiBy b3dzKQorCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CistLQorLS0gREVMRVRFIHRl c3RzCistLQorQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFu Z2UgTk9UIE5VTEwsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0 IE5PVCBOVUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0aW9uX29mX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlv bl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4 LTAxLTAyLDIwMTgtMDItMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAyLTAzLDIw MTgtMDMtMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQp JywgJ29uZScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDEtMDUpJywgJ3R3bycp LAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLCknLCAndGhyZWUnKSwKKyAgKCdbNCw1KScsICco LDIwMTgtMDQtMDEpJywgJ2ZvdXInKSwKKyAgKCdbNSw2KScsICcoLCknLCAnZml2ZScpLAorICAo J1s2LDcpJywgJ1syMDE4LTAxLTAxLCknLCAnc2l4JyksCisgICgnWzcsOCknLCAnKCwyMDE4LTA0 LTAxKScsICdzZXZlbicpLAorICAoJ1s4LDkpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywg J2VpZ2h0JyksCisgICgnWzgsOSknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknLCAnZWlnaHQn KSwKKyAgKCdbOCw5KScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0KScsICdlaWdodCcpCisgIDsK K1xzZXQgUVVJRVQgZmFsc2UKKy0tIERlbGV0aW5nIHdpdGggYSBtaXNzaW5nIGNvbHVtbiBmYWls cworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiBpbnZh bGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgV0hFUkUgaWQgPSAnWzUsNiknOwor RVJST1I6ICBjb2x1bW4gb3IgcGVyaW9kICJpbnZhbGlkX2F0IiBvZiByZWxhdGlvbiAiZm9yX3Bv cnRpb25fb2ZfdGVzdCIgZG9lcyBub3QgZXhpc3QKK0xJTkUgMjogICBGT1IgUE9SVElPTiBPRiBp bnZhbGlkX2F0IEZST00gJzIwMTgtMDYtMDEnIFRPIE5VTEwKKyAgICAgICAgICAgICAgICAgICAg ICAgICBeCistLSBUaGUgd3JvbmcgdHlwZSBmYWlscworREVMRVRFIEZST00gZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIDEgVE8gNAorICBXSEVSRSBp ZCA9ICdbMyw0KSc7CitFUlJPUjogIGZ1bmN0aW9uIHBnX2NhdGFsb2cuZGF0ZXJhbmdlKGludGVn ZXIsIGludGVnZXIpIGRvZXMgbm90IGV4aXN0CitMSU5FIDI6ICAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAxIFRPIDQKKyAgICAgICAgICAgICAgICAgICAgICAgICBeCitERVRBSUw6ICBO byBmdW5jdGlvbiBvZiB0aGF0IG5hbWUgYWNjZXB0cyB0aGUgZ2l2ZW4gYXJndW1lbnQgdHlwZXMu CitISU5UOiAgWW91IG1pZ2h0IG5lZWQgdG8gYWRkIGV4cGxpY2l0IHR5cGUgY2FzdHMuCistLSBE ZWxldGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9w b3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0w MScgVE8gJzIwMTgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0VSUk9SOiAgcmFuZ2Ug bG93ZXIgYm91bmQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gcmFuZ2UgdXBwZXIgYm91 bmQKKy0tIERlbGV0aW5nIHdpdGggYSBzdWJxdWVyeSBmYWlscworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxFQ1QgJzIw MTgtMDEtMDEnKSBUTyAnMjAxOC0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJST1I6 ICBjYW5ub3QgdXNlIHN1YnF1ZXJ5IGluIEZPUiBQT1JUSU9OIE9GIGV4cHJlc3Npb24KK0xJTkUg MjogICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIChTRUxFQ1QgJzIwMTgtMDEtMDEnKSBU TyAnMjAxLi4uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCistLSBE ZWxldGluZyB3aXRoIGEgY29sdW1uIGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gbG93ZXIodmFsaWRfYXQpIFRPIE5V TEwKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworRVJST1I6ICBjYW5ub3QgdXNlIGNvbHVtbiByZWZl cmVuY2UgaW4gRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbgorTElORSAyOiAgIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gbG93ZXIodmFsaWRfYXQpIFRPIE5VTEwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy0tIERlbGV0aW5nIHdpdGggdGltZXN0 YW1wcyBlcXVhbCBkb2VzIG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QK KyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDQt MDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSAwCistLSBEZWxldGluZyBhIGZpbml0 ZS9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9vcGVuIHRhcmdldAorREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2 LTAxJyBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK0RFTEVURSAyCistLSBEZWxldGlu ZyBhIGZpbml0ZS9vcGVuIHBvcnRpb24gd2l0aCBhbiBvcGVuL2Zpbml0ZSB0YXJnZXQKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSBOVUxMIFRPICcyMDE4LTAzLTAxJworICBXSEVSRSBpZCA9ICdbNiw3KSc7CitERUxFVEUgMgor LS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGFuIG9wZW4vZmluaXRlIHRh cmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDItMDEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsK K0RFTEVURSAyCistLSBEZWxldGluZyBhbiBvcGVuL2Zpbml0ZSBwb3J0aW9uIHdpdGggYSBmaW5p dGUvb3BlbiB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxNy0wMS0wMScgVE8gTlVMTAorICBXSEVSRSBpZCA9 ICdbNyw4KSc7CitERUxFVEUgMgorLS0gRGVsZXRpbmcgYSBmaW5pdGUvZmluaXRlIHBvcnRpb24g d2l0aCBhbiBleGFjdCBmaXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMScgVE8gJzIwMTgtMDQtMDEnCisg IFdIRVJFIGlkID0gJ1s0LDUpJzsKK0RFTEVURSAxCistLSBEZWxldGluZyBhbiBlbmNsb3NlZCBz cGFuCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK0RFTEVURSAx CistLSBEZWxldGluZyBhbiBvcGVuL29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL2Zpbml0ZSB0 YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMScgVE8gJzIwMTktMDEtMDEnCisgIFdIRVJFIGlkID0g J1s1LDYpJzsKK0RFTEVURSAzCistLSBEZWxldGluZyBhbiBlbmNsb3NlZCBzcGFuIHdpdGggc2Vw YXJhdGUgcHJvdHJ1ZGluZyBzcGFucworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAyLTAzJyBUTyAnMjAxOC0wMy0w MycKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworREVMRVRFIDEKKy0tIERlbGV0aW5nIG11bHRpcGxl IGVuY2xvc2VkIHNwYW5zCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1s4LDkp JzsKK0RFTEVURSAzCistLSBEZWxldGluZyB3aXRoIGEgZGlyZWN0IHRhcmdldAorREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJh bmdlKCcyMDE4LTAzLTEwJywgJzIwMTgtMDMtMTcnKSkKKyAgV0hFUkUgaWQgPSAnWzEsMiknOwor REVMRVRFIDMKKy0tIERFTEVURSB3aXRoIG5vIFdIRVJFIGNsYXVzZQorREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDMwLTAx LTAxJyBUTyBOVUxMOworREVMRVRFIDQKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVz dCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBb MSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDItMDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMy0w MywyMDE4LTAzLTEwKSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBv bmUKKyBbMyw0KSB8IFsyMDE4LTAxLTAxLDIwMTgtMDYtMDEpIHwgdGhyZWUKKyBbNSw2KSB8ICgs MjAxOC0wMS0wMSkgICAgICAgICAgIHwgZml2ZQorIFs1LDYpIHwgWzIwMTktMDEtMDEsMjAzMC0w MS0wMSkgfCBmaXZlCisgWzYsNykgfCBbMjAxOC0wMy0wMSwyMDMwLTAxLTAxKSB8IHNpeAorIFs3 LDgpIHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBzZXZlbgorKDggcm93cykKKworXHNldCBR VUlFVCB0cnVlCistLSBVUERBVEUgLi4uIFJFVFVSTklORyByZXR1cm5zIG9ubHkgdGhlIHVwZGF0 ZWQgdmFsdWVzIChub3QgdGhlIGluc2VydGVkIHNpZGUgdmFsdWVzKQorVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMScg VE8gJzIwMTgtMDItMTUnCisgIFNFVCBuYW1lID0gJ3RocmVlXjMnCisgIFdIRVJFIGlkID0gJ1sz LDQpJworICBSRVRVUk5JTkcgKjsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwg IG5hbWUgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBb Myw0KSB8IFsyMDE4LTAyLTAxLDIwMTgtMDItMTUpIHwgdGhyZWVeMworKDEgcm93KQorCistLSBE RUxFVEUgLi4uIFJFVFVSTklORyByZXR1cm5zIHRoZSBkZWxldGVkIHZhbHVlcyAocmVnYXJkbGVz cyBvZiBib3VuZHMpCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDInIFRPICcyMDE4LTAyLTAzJworICBXSEVS RSBpZCA9ICdbMyw0KScKKyAgUkVUVVJOSU5HICo7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8ICBuYW1lICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMi0wMSwyMDE4LTAyLTE1KSB8IHRocmVlXjMKKygxIHJv dykKKworLS0gREVMRVRFIEZPUiBQT1JUSU9OIE9GIGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lO U0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVT CisgICgnWzEwLDExKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFU RSBGVU5DVElPTiBmcG9fZGVsZXRlKF9pZCBpbnQ0cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBf dGFyZ2V0X3RpbCBkYXRlKQorUkVUVVJOUyB2b2lkIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitC RUdJTgorICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAkMiBUTyAkMworICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7CiskJDsK K1NFTEVDVCBmcG9fZGVsZXRlKCdbMTAsMTEpJywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0wMScp OworIGZwb19kZWxldGUgCistLS0tLS0tLS0tLS0KKyAKKygxIHJvdykKKworU0VMRUNUICogRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworICAgaWQgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0KKyBbMTAsMTEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCB0 ZW4KKygxIHJvdykKKworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCBJ TiAoJ1sxMCwxMSknKTsKKy0tIHRlc3QgdGhhdCB3ZSBydW4gdHJpZ2dlcnMgb24gdGhlIFVQREFU RS9ERUxFVEVkIHJvdyBhbmQgdGhlIElOU0VSVGVkIHJvd3MKK0NSRUFURSBGVU5DVElPTiBkdW1w X3RyaWdnZXIoKQorUkVUVVJOUyBUUklHR0VSIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJ TgorICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAlOicsCisgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdf T1AsIFRHX0xFVkVMOworCisgIElGIFRHX0FSR1ZbMF0gVEhFTgorICAgIFJBSVNFIE5PVElDRSAn ICBvbGQ6ICUnLCAoU0VMRUNUIHN0cmluZ19hZ2cob2xkX3RhYmxlOjp0ZXh0LCAnXG4gICAgICAg JykgRlJPTSBvbGRfdGFibGUpOworICBFTFNFCisgICAgUkFJU0UgTk9USUNFICcgIG9sZDogJScs IE9MRC52YWxpZF9hdDsKKyAgRU5EIElGOworICBJRiBUR19BUkdWWzFdIFRIRU4KKyAgICBSQUlT RSBOT1RJQ0UgJyAgbmV3OiAlJywgKFNFTEVDVCBzdHJpbmdfYWdnKG5ld190YWJsZTo6dGV4dCwg J1xuICAgICAgICcpIEZST00gbmV3X3RhYmxlKTsKKyAgRUxTRQorICAgIFJBSVNFIE5PVElDRSAn ICBuZXc6ICUnLCBORVcudmFsaWRfYXQ7CisgIEVORCBJRjsKKworICBJRiBUR19PUCA9ICdJTlNF UlQnIE9SIFRHX09QID0gJ1VQREFURScgVEhFTgorICAgIFJFVFVSTiBORVc7CisgIEVMU0lGIFRH X09QID0gJ0RFTEVURScgVEhFTgorICAgIFJFVFVSTiBPTEQ7CisgIEVORCBJRjsKK0VORDsKKyQk OworLS0gc3RhdGVtZW50IHRyaWdnZXJzOgorQ1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9zdG10 CitCRUZPUkUgSU5TRVJUIE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2luc2VydF9zdG10CitBRlRFUiBJ TlNFUlQgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUg UFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBv X2FmdGVyX3VwZGF0ZV9zdG10CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAor Rk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwg ZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9zdG10CitBRlRFUiBERUxF VEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJP Q0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworLS0gcm93IHRyaWdnZXJzOgorQ1JF QVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9yb3cKK0JFRk9SRSBJTlNFUlQgT1IgVVBEQVRFIE9SIERF TEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURV UkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJf aW5zZXJ0X3JvdworQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNI IFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFU RSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRp b25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihm YWxzZSwgZmFsc2UpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVS IERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAy Mi0wMS0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4zJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CitO T1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNF OiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2Jl Zm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE5LTAxLTAx LDIwMzAtMDEtMDEpCitOT1RJQ0U6ICAgIG5ldzogWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkKK05P VElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVm b3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogWzIwMTktMDEtMDEsMjAyMS0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9p bnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9U SUNFOiAgICBuZXc6IFsyMDE5LTAxLTAxLDIwMjEtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJf aW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5V TEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJF Rk9SRSBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAg ICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBJTlNFUlQgUk9X OgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDIyLTAxLTAxLDIw MzAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJP VzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAyMi0wMS0wMSwy MDMwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJTlNFUlQg U1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxM PgorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJ Q0U6ICAgIG9sZDogWzIwMTktMDEtMDEsMjAzMC0wMS0wMSkKK05PVElDRTogICAgbmV3OiBbMjAy MS0wMS0wMSwyMDIyLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9zdG10OiBBRlRF UiBVUERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBu ZXc6IDxOVUxMPgorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDIzLTAxLTAxJyBUTyAnMjAyNC0wMS0wMScKKyAgV0hFUkUg aWQgPSAnWzUsNiknOworTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgREVMRVRFIFNU QVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4K K05PVElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogICAg b2xkOiBbMjAyMi0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9U SUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTog ICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZv cmVfcm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElD RTogICAgbmV3OiBbMjAyMi0wMS0wMSwyMDIzLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2lu c2VydF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJ Q0U6ICAgIG5ldzogWzIwMjItMDEtMDEsMjAyMy0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9p bnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVM TD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVG T1JFIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAg IG5ldzogPE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6 CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMjQtMDEtMDEsMjAz MC0wMS0wMSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9X OgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDI0LTAxLTAxLDIw MzAtMDEtMDEpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBT VEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5VTEw+ CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVMRVRFIFJPVzoKK05PVElD RTogICAgb2xkOiBbMjAyMi0wMS0wMSwyMDMwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IDxOVUxM PgorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9zdG10OiBBRlRFUiBERUxFVEUgU1RBVEVNRU5U OgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIG5hbWUgICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBbMSwyKSB8IFsyMDE4LTAxLTAyLDIwMTgtMDIt MDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0wMy0wMywyMDE4LTAzLTEwKSB8IG9uZQorIFsxLDIp IHwgWzIwMTgtMDMtMTcsMjAxOC0wNC0wNCkgfCBvbmUKKyBbMyw0KSB8IFsyMDE4LTAxLTAxLDIw MTgtMDItMDEpIHwgdGhyZWUKKyBbMyw0KSB8IFsyMDE4LTAyLTAxLDIwMTgtMDItMDIpIHwgdGhy ZWVeMworIFszLDQpIHwgWzIwMTgtMDItMDMsMjAxOC0wMi0xNSkgfCB0aHJlZV4zCisgWzMsNCkg fCBbMjAxOC0wMi0xNSwyMDE4LTA2LTAxKSB8IHRocmVlCisgWzUsNikgfCAoLDIwMTgtMDEtMDEp ICAgICAgICAgICB8IGZpdmUKKyBbNSw2KSB8IFsyMDE5LTAxLTAxLDIwMjEtMDEtMDEpIHwgZml2 ZQorIFs1LDYpIHwgWzIwMjEtMDEtMDEsMjAyMi0wMS0wMSkgfCBmaXZlXjMKKyBbNSw2KSB8IFsy MDIyLTAxLTAxLDIwMjMtMDEtMDEpIHwgZml2ZQorIFs1LDYpIHwgWzIwMjQtMDEtMDEsMjAzMC0w MS0wMSkgfCBmaXZlCisgWzYsNykgfCBbMjAxOC0wMy0wMSwyMDMwLTAxLTAxKSB8IHNpeAorIFs3 LDgpIHwgKCwyMDE3LTAxLTAxKSAgICAgICAgICAgfCBzZXZlbgorKDE0IHJvd3MpCisKKy0tIFRy aWdnZXJzIHdpdGggYSBjdXN0b20gdHJhbnNpdGlvbiB0YWJsZSBuYW1lOgorRFJPUCBUQUJMRSBm b3JfcG9ydGlvbl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0CispOwor SU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKy0tIHN0YXRlbWVudCB0cmlnZ2VyczoKK0NSRUFU RSBUUklHR0VSIGZwb19iZWZvcmVfc3RtdAorQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVM RVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBS T0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBUUklHR0VSIGZwb19h ZnRlcl9pbnNlcnRfc3RtdAorQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JF RkVSRU5DSU5HIE5FVyBUQUJMRSBBUyBuZXdfdGFibGUKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVD VVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIHRydWUpOworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX3VwZGF0ZV9zdG10CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5ld190YWJsZSBPTEQgVEFCTEUgQVMgb2xkX3Rh YmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKHRy dWUsIHRydWUpOworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9zdG10CitBRlRFUiBE RUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgT0xEIFRBQkxFIEFTIG9s ZF90YWJsZQorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dl cih0cnVlLCBmYWxzZSk7CistLSByb3cgdHJpZ2dlcnM6CitDUkVBVEUgVFJJR0dFUiBmcG9fYmVm b3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9u X29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFs c2UsIGZhbHNlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9pbnNlcnRfcm93CitBRlRFUiBJ TlNFUlQgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5l d190YWJsZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgdHJ1ZSk7CitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdworQUZURVIgVVBE QVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK1JFRkVSRU5DSU5HIE9MRCBUQUJMRSBBUyBvbGRf dGFibGUgTkVXIFRBQkxFIEFTIG5ld190YWJsZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VE VVJFIGR1bXBfdHJpZ2dlcih0cnVlLCB0cnVlKTsKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9k ZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJ TkcgT0xEIFRBQkxFIEFTIG9sZF90YWJsZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJF IGR1bXBfdHJpZ2dlcih0cnVlLCBmYWxzZSk7CitCRUdJTjsKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcy MDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICcyMDE4LTAxLTE1X3RvXzIwMTktMDEtMDEnOworTk9U SUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgVVBEQVRFIFNUQVRFTUVOVDoKK05PVElDRTog ICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZv cmVfcm93OiBCRUZPUkUgVVBEQVRFIFJPVzoKK05PVElDRTogICAgb2xkOiBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTE1LDIwMTktMDEtMDEpCitOT1RJ Q0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAg ICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9y ZV9yb3c6IEJFRk9SRSBJTlNFUlQgUk9XOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNF OiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5z ZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElD RTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAxOC0wMS0xNSkiLG9uZSkKK05PVElD RTogIGZwb19hZnRlcl9pbnNlcnRfc3RtdDogQUZURVIgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElD RTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEs MjAxOC0wMS0xNSkiLG9uZSkKK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElOU0VS VCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogPE5V TEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkK K05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9USUNF OiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRFUiBJ TlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6 ICgiWzEsMikiLCJbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2Fm dGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogKCJbMSwy KSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICAgIG5ldzogKCJbMSwy KSIsIlsyMDE4LTAxLTE1LDIwMTktMDEtMDEpIiwyMDE4LTAxLTE1X3RvXzIwMTktMDEtMDEpCitO T1RJQ0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVSIFVQREFURSBTVEFURU1FTlQ6CitO T1RJQ0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitO T1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTE1LDIwMTktMDEtMDEpIiwyMDE4LTAx LTE1X3RvXzIwMTktMDEtMDEpCitST0xMQkFDSzsKK0JFR0lOOworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIw MTgtMDEtMjEnOworTk9USUNFOiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgREVMRVRFIFNUQVRF TUVOVDoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05P VElDRTogIGZwb19iZWZvcmVfcm93OiBCRUZPUkUgREVMRVRFIFJPVzoKK05PVElDRTogICAgb2xk OiBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKQorTk9USUNFOiAgICBuZXc6IDxOVUxMPgorTk9USUNF OiAgZnBvX2JlZm9yZV9zdG10OiBCRUZPUkUgSU5TRVJUIFNUQVRFTUVOVDoKK05PVElDRTogICAg b2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19iZWZvcmVf cm93OiBCRUZPUkUgSU5TRVJUIFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTog ICAgbmV3OiBbMjAxOC0wMS0yMSwyMDIwLTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2Vy dF9yb3c6IEFGVEVSIElOU0VSVCBST1c6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6 ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6 ICBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQ6IEFGVEVSIElOU0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6 ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTIxLDIw MjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfZGVsZXRlX3JvdzogQUZURVIgREVM RVRFIFJPVzoKK05PVElDRTogICAgb2xkOiAoIlsxLDIpIiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0w MSkiLG9uZSkKK05PVElDRTogICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19hZnRlcl9kZWxl dGVfc3RtdDogQUZURVIgREVMRVRFIFNUQVRFTUVOVDoKK05PVElDRTogICAgb2xkOiAoIlsxLDIp IiwiWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkiLG9uZSkKK05PVElDRTogICAgbmV3OiA8TlVMTD4K K1JPTExCQUNLOworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDEtMDInCisgIFNFVCBuYW1lID0g J05VTExfdG9fMjAxOC0wMS0wMSc7CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3N0bXQ6IEJFRk9SRSBV UERBVEUgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6 IDxOVUxMPgorTk9USUNFOiAgZnBvX2JlZm9yZV9yb3c6IEJFRk9SRSBVUERBVEUgUk9XOgorTk9U SUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpCitOT1RJQ0U6ICAgIG5ldzogWzIw MTgtMDEtMDEsMjAxOC0wMS0wMikKK05PVElDRTogIGZwb19iZWZvcmVfc3RtdDogQkVGT1JFIElO U0VSVCBTVEFURU1FTlQ6CitOT1RJQ0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzog PE5VTEw+CitOT1RJQ0U6ICBmcG9fYmVmb3JlX3JvdzogQkVGT1JFIElOU0VSVCBST1c6CitOT1RJ Q0U6ICAgIG9sZDogPE5VTEw+CitOT1RJQ0U6ICAgIG5ldzogWzIwMTgtMDEtMDIsMjAyMC0wMS0w MSkKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9U SUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0w MiwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBvX2FmdGVyX2luc2VydF9zdG10OiBBRlRF UiBJTlNFUlQgU1RBVEVNRU5UOgorTk9USUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBu ZXc6ICgiWzEsMikiLCJbMjAxOC0wMS0wMiwyMDIwLTAxLTAxKSIsb25lKQorTk9USUNFOiAgZnBv X2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitOT1RJQ0U6ICAgIG9sZDogKCJb MSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJQ0U6ICAgIG5ldzogKCJb MSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpIixOVUxMX3RvXzIwMTgtMDEtMDEpCitOT1RJ Q0U6ICBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQ6IEFGVEVSIFVQREFURSBTVEFURU1FTlQ6CitOT1RJ Q0U6ICAgIG9sZDogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIixvbmUpCitOT1RJ Q0U6ICAgIG5ldzogKCJbMSwyKSIsIlsyMDE4LTAxLTAxLDIwMTgtMDEtMDIpIixOVUxMX3RvXzIw MTgtMDEtMDEpCitST0xMQkFDSzsKKy0tIERlZmVycmVkIHRyaWdnZXJzCistLSAobXVzdCBiZSBD T05TVFJBSU5UIHRyaWdnZXJzIHRodXMgQUZURVIgUk9XIHdpdGggbm8gdHJhbnNpdGlvbiB0YWJs ZXMpCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUgVEFCTEUgZm9yX3Bv cnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAor ICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFs aWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEp JywgJ29uZScpOworQ1JFQVRFIENPTlNUUkFJTlQgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3Jv dworQUZURVIgSU5TRVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0RFRkVSUkFCTEUgSU5JVElB TExZIERFRkVSUkVECitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2Vy KGZhbHNlLCBmYWxzZSk7CitDUkVBVEUgQ09OU1RSQUlOVCBUUklHR0VSIGZwb19hZnRlcl91cGRh dGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorREVGRVJSQUJMRSBJ TklUSUFMTFkgREVGRVJSRUQKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3Ry aWdnZXIoZmFsc2UsIGZhbHNlKTsKK0NSRUFURSBDT05TVFJBSU5UIFRSSUdHRVIgZnBvX2FmdGVy X2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitERUZFUlJB QkxFIElOSVRJQUxMWSBERUZFUlJFRAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1 bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2Zf dGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAx OS0wMS0wMScKKyAgU0VUIG5hbWUgPSAnMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxJzsKK0NPTU1J VDsKK05PVElDRTogIGZwb19hZnRlcl9pbnNlcnRfcm93OiBBRlRFUiBJTlNFUlQgUk9XOgorTk9U SUNFOiAgICBvbGQ6IDxOVUxMPgorTk9USUNFOiAgICBuZXc6IFsyMDE4LTAxLTAxLDIwMTgtMDEt MTUpCitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJUIFJPVzoKK05P VElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAxOS0wMS0wMSwyMDIwLTAx LTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX3VwZGF0ZV9yb3c6IEFGVEVSIFVQREFURSBST1c6CitO T1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkKK05PVElDRTogICAgbmV3OiBb MjAxOC0wMS0xNSwyMDE5LTAxLTAxKQorQkVHSU47CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0y MSc7CitDT01NSVQ7CitOT1RJQ0U6ICBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdzogQUZURVIgSU5TRVJU IFJPVzoKK05PVElDRTogICAgb2xkOiA8TlVMTD4KK05PVElDRTogICAgbmV3OiBbMjAxOC0wMS0y MSwyMDE5LTAxLTAxKQorTk9USUNFOiAgZnBvX2FmdGVyX2RlbGV0ZV9yb3c6IEFGVEVSIERFTEVU RSBST1c6CitOT1RJQ0U6ICAgIG9sZDogWzIwMTgtMDEtMTUsMjAxOS0wMS0wMSkKK05PVElDRTog ICAgbmV3OiA8TlVMTD4KK05PVElDRTogIGZwb19hZnRlcl9kZWxldGVfcm93OiBBRlRFUiBERUxF VEUgUk9XOgorTk9USUNFOiAgICBvbGQ6IFsyMDE4LTAxLTAxLDIwMTgtMDEtMTUpCitOT1RJQ0U6 ICAgIG5ldzogPE5VTEw+CitCRUdJTjsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0wMicKKyAgU0VUIG5h bWUgPSAnTlVMTF90b18yMDE4LTAxLTAxJzsKK0NPTU1JVDsKK1NFTEVDVCAqIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgICAgICAg ICAgIG5hbWUgICAgICAgICAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzEsMikgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAx KSB8IG9uZQorIFsxLDIpIHwgWzIwMTgtMDEtMjEsMjAxOS0wMS0wMSkgfCAyMDE4LTAxLTE1X3Rv XzIwMTktMDEtMDEKKygyIHJvd3MpCisKKy0tIHRlc3QgRk9SIFBPUlRJT04gT0YgZnJvbSB0cmln Z2VycyBkdXJpbmcgRk9SIFBPUlRJT04gT0Y6CitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rl c3Q7CitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwK KyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3Jf cG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywg J1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ29uZScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAx LTAxLDIwMjAtMDEtMDEpJywgJ3R3bycpLAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLDIwMjAt MDEtMDEpJywgJ3RocmVlJyksCisgICgnWzQsNSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkn LCAnZm91cicpOworQ1JFQVRFIEZVTkNUSU9OIHRyZ19mcG9fdXBkYXRlKCkKK1JFVFVSTlMgVFJJ R0dFUiBMQU5HVUFHRSBwbHBnc3FsIEFTCiskJAorQkVHSU4KKyAgSUYgcGdfdHJpZ2dlcl9kZXB0 aCgpID0gMSBUSEVOCisgICAgVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgICAgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDEnIFRPICcyMDE4LTAzLTAxJworICAg ICAgU0VUIG5hbWUgPSBDT05DQVQobmFtZSwgJ14nKQorICAgICAgV0hFUkUgaWQgPSBPTEQuaWQ7 CisgIEVORCBJRjsKKyAgUkVUVVJOIENBU0UgV0hFTiAnVEdfT1AnID0gJ0RFTEVURScgVEhFTiBP TEQgRUxTRSBORVcgRU5EOworRU5EOworJCQ7CitDUkVBVEUgRlVOQ1RJT04gdHJnX2Zwb19kZWxl dGUoKQorUkVUVVJOUyBUUklHR0VSIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBJ RiBwZ190cmlnZ2VyX2RlcHRoKCkgPSAxIFRIRU4KKyAgICBERUxFVEUgRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgICAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAzLTAx JyBUTyAnMjAxOC0wNC0wMScKKyAgICAgIFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7Cisg IFJFVFVSTiBDQVNFIFdIRU4gJ1RHX09QJyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVO RDsKK0VORDsKKyQkOworLS0gVVBEQVRFIEZPUiBQT1JUSU9OIE9GIGZyb20gYSB0cmlnZ2VyIGZp cmVkIGJ5IFVQREFURSBGT1IgUE9SVElPTiBPRgorQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3Vw ZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBS T1cgRVhFQ1VURSBQUk9DRURVUkUgdHJnX2Zwb191cGRhdGUoKTsKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEnIFRP ICcyMDE4LTA2LTAxJworICBTRVQgbmFtZSA9IENPTkNBVChuYW1lLCAnKicpCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9 ICdbMSwyKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LQorIFsxLDIpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4 LTAyLTAxLDIwMTgtMDMtMDEpIHwgb25lXgorIFsxLDIpIHwgWzIwMTgtMDMtMDEsMjAxOC0wNS0w MSkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTA1LTAxLDIwMTgtMDYtMDEpIHwgb25lKgorIFsxLDIp IHwgWzIwMTgtMDYtMDEsMjAyMC0wMS0wMSkgfCBvbmUKKyg1IHJvd3MpCisKK0RST1AgVFJJR0dF UiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworLS0gVVBEQVRF IEZPUiBQT1JUSU9OIE9GIGZyb20gYSB0cmlnZ2VyIGZpcmVkIGJ5IERFTEVURSBGT1IgUE9SVElP TiBPRgorQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cKK0FGVEVSIERFTEVURSBP TiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgdHJn X2Zwb191cGRhdGUoKTsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFdI RVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVS RSBpZCA9ICdbMiwzKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBuYW1lIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLQorIFsyLDMpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkgfCB0d28KKyBbMiwzKSB8 IFsyMDE4LTAyLTAxLDIwMTgtMDMtMDEpIHwgdHdvXgorIFsyLDMpIHwgWzIwMTgtMDMtMDEsMjAx OC0wNS0wMSkgfCB0d28KKyBbMiwzKSB8IFsyMDE4LTA2LTAxLDIwMjAtMDEtMDEpIHwgdHdvCiso NCByb3dzKQorCitEUk9QIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cgT04gZm9yX3BvcnRp b25fb2ZfdGVzdDsKKy0tIERFTEVURSBGT1IgUE9SVElPTiBPRiBmcm9tIGEgdHJpZ2dlciBmaXJl ZCBieSBVUERBVEUgRk9SIFBPUlRJT04gT0YKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl91cGRh dGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9X IEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fZGVsZXRlKCk7CitVUERBVEUgZm9yX3BvcnRpb25f b2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1LTAxJyBUTyAn MjAxOC0wNi0wMScKKyAgU0VUIG5hbWUgPSBDT05DQVQobmFtZSwgJyonKQorICBXSEVSRSBpZCA9 ICdbMyw0KSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAn WzMsNCknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgIG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tCisgWzMsNCkgfCBbMjAxOC0wMS0wMSwyMDE4LTAzLTAxKSB8IHRocmVlCisgWzMsNCkgfCBb MjAxOC0wNC0wMSwyMDE4LTA1LTAxKSB8IHRocmVlCisgWzMsNCkgfCBbMjAxOC0wNS0wMSwyMDE4 LTA2LTAxKSB8IHRocmVlKgorIFszLDQpIHwgWzIwMTgtMDYtMDEsMjAyMC0wMS0wMSkgfCB0aHJl ZQorKDQgcm93cykKKworRFJPUCBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93IE9OIGZvcl9w b3J0aW9uX29mX3Rlc3Q7CistLSBERUxFVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIg ZmlyZWQgYnkgREVMRVRFIEZPUiBQT1JUSU9OIE9GCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJf ZGVsZXRlX3JvdworQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNI IFJPVyBFWEVDVVRFIFBST0NFRFVSRSB0cmdfZnBvX2RlbGV0ZSgpOworREVMRVRFIEZST00gZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA1 LTAxJyBUTyAnMjAxOC0wNi0wMScKKyAgV0hFUkUgaWQgPSAnWzQsNSknOworU0VMRUNUICogRlJP TSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgCistLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tCisgWzQsNSkgfCBbMjAxOC0wMS0wMSwy MDE4LTAzLTAxKSB8IGZvdXIKKyBbNCw1KSB8IFsyMDE4LTA0LTAxLDIwMTgtMDUtMDEpIHwgZm91 cgorIFs0LDUpIHwgWzIwMTgtMDYtMDEsMjAyMC0wMS0wMSkgfCBmb3VyCisoMyByb3dzKQorCitE Uk9QIFRSSUdHRVIgZnBvX2FmdGVyX2RlbGV0ZV9yb3cgT04gZm9yX3BvcnRpb25fb2ZfdGVzdDsK Ky0tIFRlc3Qgd2l0aCBtdWx0aXJhbmdlcworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rl c3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlbXVsdGlyYW5n ZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0 aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBu YW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMicsICcyMDE4LTAyLTAzKScpLCBkYXRlcmFuZ2UoJzIwMTgtMDItMDQnLCAnMjAxOC0wMy0w MycpKSwgJ29uZScpLAorICAoJ1sxLDIpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAzLTAzJywgJzIwMTgtMDQtMDQpJykpLCAnb25lJyksCisgICgnWzIsMyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wNS0wMSknKSksICd0d28nKSwKKyAg KCdbMyw0KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsIG51bGwpKSwg J3RocmVlJyk7CisgIDsKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTEwJywgJzIw MTgtMDItMTAnKSwgZGF0ZXJhbmdlKCcyMDE4LTAzLTA1JywgJzIwMTgtMDUtMDEnKSkpCisgIFNF VCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CitERUxFVEUgRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnKSwgZGF0ZXJhbmdlKCcyMDE4 LTAzLTAxJywgJzIwMTgtMDMtMTUnKSkpCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLQorIFsxLDIpIHwge1syMDE4LTAxLTAyLDIwMTgtMDEtMTApLFsyMDE4LTAyLTEwLDIw MTgtMDMtMDMpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IG9uZQorIFsxLDIpIHwge1syMDE4 LTAxLTEwLDIwMTgtMDItMDMpLFsyMDE4LTAyLTA0LDIwMTgtMDItMTApfSAgICAgICAgICAgICAg ICAgICAgICAgICB8IG9uZV4xCisgWzEsMikgfCB7WzIwMTgtMDMtMDMsMjAxOC0wMy0wNSl9ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgb25lCisgWzEs MikgfCB7WzIwMTgtMDMtMDUsMjAxOC0wNC0wNCl9ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgb25lXjEKKyBbMiwzKSB8IHtbMjAxOC0wMS0wMSwyMDE4 LTAxLTE1KSxbMjAxOC0wMi0xNSwyMDE4LTAzLTAxKSxbMjAxOC0wMy0xNSwyMDE4LTA1LTAxKX0g fCB0d28KKyBbMyw0KSB8IHtbMjAxOC0wMS0wMSwpfSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0aHJlZQorKDYgcm93cykKKworRFJP UCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0MjsKKy0tIFRlc3Qgd2l0aCBhIGN1c3RvbSByYW5n ZSB0eXBlCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUpOwor Q1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBO VUxMLAorICB2YWxpZF9hdCBteWRhdGVyYW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBO VUxMLAorICBDT05TVFJBSU5UIGZvcl9wb3J0aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlv bl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAx OC0wMS0wMiwyMDE4LTAyLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMi0wMywy MDE4LTAzLTAzKScsICdvbmUnKSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMywyMDE4LTA0LTA0 KScsICdvbmUnKSwKKyAgKCdbMiwzKScsICdbMjAxOC0wMS0wMSwyMDE4LTA1LTAxKScsICd0d28n KSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJywgJ3RocmVlJyk7CisgIDsKK1VQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4 LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlk ID0gJ1sxLDIpJzsKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE4LTAyLTE1JworICBXSEVS RSBpZCA9ICdbMiwzKSc7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QyIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFt ZSAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQorIFsxLDIpIHwg WzIwMTgtMDEtMDIsMjAxOC0wMS0xMCkgfCBvbmUKKyBbMSwyKSB8IFsyMDE4LTAxLTEwLDIwMTgt MDItMDMpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDE4LTAyLTAzLDIwMTgtMDItMTApIHwgb25lXjEK KyBbMSwyKSB8IFsyMDE4LTAyLTEwLDIwMTgtMDMtMDMpIHwgb25lCisgWzEsMikgfCBbMjAxOC0w My0wMywyMDE4LTA0LTA0KSB8IG9uZQorIFsyLDMpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMS0xNSkg fCB0d28KKyBbMiwzKSB8IFsyMDE4LTAyLTE1LDIwMTgtMDUtMDEpIHwgdHdvCisgWzMsNCkgfCBb MjAxOC0wMS0wMSwpICAgICAgICAgICB8IHRocmVlCisoOCByb3dzKQorCitEUk9QIFRBQkxFIGZv cl9wb3J0aW9uX29mX3Rlc3QyOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOworLS0gVGVzdCBGT1Ig UE9SVElPTiBPRiBhZ2FpbnN0IGEgcGFydGl0aW9uZWQgdGFibGUuCistLSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF8xIGhhcyB0aGUgc2FtZSBhdHRudW1zIGFzIHRoZSByb290CistLSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF8zIGhhcyB0aGUgZGlmZmVyZW50IGF0dG51bXMgZnJvbSB0aGUgcm9vdAorLS0g dGVtcG9yYWxfcGFydGl0aW9uZWRfNSBoYXMgdGhlIGRpZmZlcmVudCBhdHRudW1zIHRvbywgYnV0 IHJldmVyc2VkCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0LAorICBDT05TVFJBSU5U IHRlbXBvcmFsX3Bhcml0aW9uZWRfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKykgUEFSVElUSU9OIEJZIExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF8xIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVT IElOICgnWzEsMiknLCAnWzIsMyknKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF8zIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzMs NCknLCAnWzQsNSknKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IFBBUlRJ VElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgVkFMVUVTIElOICgnWzUsNiknLCAnWzYs NyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJT04g dGVtcG9yYWxfcGFydGl0aW9uZWRfMzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk XzMgRFJPUCBDT0xVTU4gaWQsIERST1AgQ09MVU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVt cG9yYWxfcGFydGl0aW9uZWRfMyBBREQgQ09MVU1OIGlkIGludDRyYW5nZSBOT1QgTlVMTCwgQURE IENPTFVNTiB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBBVFRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMgRk9S IFZBTFVFUyBJTiAoJ1szLDQpJywgJ1s0LDUpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZCBERVRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzU7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF81IERST1AgQ09MVU1OIGlkLCBEUk9QIENPTFVNTiB2 YWxpZF9hdDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgQUREIENPTFVNTiB2 YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEwsIEFERCBDT0xVTU4gaWQgaW50NHJhbmdlIE5PVCBO VUxMOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgQVRUQUNIIFBBUlRJVElPTiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF81IEZPUiBWQUxVRVMgSU4gKCdbNSw2KScsICdbNiw3KScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWQgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFM VUVTCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAn b25lJyksCisgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScp LCAndGhyZWUnKSwKKyAgKCdbNSw2KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAx LTAxJyksICdmaXZlJyk7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkOworICBp ZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tCisgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAx KSB8IG9uZQorIFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorIFs1LDYp IHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCBmaXZlCisoMyByb3dzKQorCistLSBVcGRhdGUg d2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAxCitVUERBVEUgdGVtcG9yYWxfcGFydGl0 aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8gJzIwMDAt MDQtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBV cGRhdGUgd2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAzCitVUERBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8g JzIwMDAtMDQtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9uIDUKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAz LTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4xJworICBXSEVSRSBpZCA9 ICdbNSw2KSc7CistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDEgdG8gcGFydGl0aW9uIDMKK1VQREFU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAw LTA2LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjInLAorICAgICAgaWQg PSAnWzQsNSknCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIE1vdmUgZnJvbSBwYXJ0aXRpb24g MyB0byBwYXJ0aXRpb24gMQorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIEZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDYtMDEnIFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFt ZSA9ICd0aHJlZV4yJywKKyAgICAgIGlkID0gJ1syLDMpJworICBXSEVSRSBpZCA9ICdbMyw0KSc7 CistLSBNb3ZlIGZyb20gcGFydGl0aW9uIDUgdG8gcGFydGl0aW9uIDMKK1VQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBU TyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4yJywKKyAgICAgIGlkID0gJ1szLDQp JworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBVcGRhdGUgYWxsIHBhcnRpdGlvbnMgYXQgb25j ZSAoZWFjaCB3aXRoIGxlZnRvdmVycykKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCAgbmFtZSAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LQorIFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAwMC0wMy0wMSkgfCBvbmUKKyBbMSwyKSB8IFsyMDAw LTAzLTAxLDIwMDAtMDQtMDEpIHwgb25lXjEKKyBbMSwyKSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYt MDEpIHwgb25lCisgWzEsMikgfCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSB8IG9uZQorIFsyLDMp IHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkgfCB0aHJlZV4yCisgWzMsNCkgfCBbMjAwMC0wMS0w MSwyMDAwLTAzLTAxKSB8IHRocmVlCisgWzMsNCkgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKSB8 IHRocmVlXjEKKyBbMyw0KSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpIHwgdGhyZWUKKyBbMyw0 KSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEpIHwgZml2ZV4yCisgWzMsNCkgfCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKSB8IHRocmVlCisgWzQsNSkgfCBbMjAwMC0wNi0wMSwyMDAwLTA3LTAxKSB8 IG9uZV4yCisgWzUsNikgfCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IGZpdmUKKyBbNSw2KSB8 IFsyMDAwLTAzLTAxLDIwMDAtMDQtMDEpIHwgZml2ZV4xCisgWzUsNikgfCBbMjAwMC0wNC0wMSwy MDAwLTA2LTAxKSB8IGZpdmUKKyBbNSw2KSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwgZml2 ZQorKDE1IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfMSBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBu YW1lICAgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tCisgWzEs MikgfCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IG9uZQorIFsxLDIpIHwgWzIwMDAtMDMtMDEs MjAwMC0wNC0wMSkgfCBvbmVeMQorIFsxLDIpIHwgWzIwMDAtMDQtMDEsMjAwMC0wNi0wMSkgfCBv bmUKKyBbMSwyKSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwgb25lCisgWzIsMykgfCBbMjAw MC0wNi0wMSwyMDAwLTA3LTAxKSB8IHRocmVlXjIKKyg1IHJvd3MpCisKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIG5hbWUgICB8 ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgCistLS0tLS0tLS0rLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgdGhyZWUgICB8IFszLDQpIHwgWzIwMDAtMDEtMDEsMjAw MC0wMy0wMSkKKyB0aHJlZV4xIHwgWzMsNCkgfCBbMjAwMC0wMy0wMSwyMDAwLTA0LTAxKQorIHRo cmVlICAgfCBbMyw0KSB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpCisgZml2ZV4yICB8IFszLDQp IHwgWzIwMDAtMDYtMDEsMjAwMC0wNy0wMSkKKyB0aHJlZSAgIHwgWzMsNCkgfCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKQorIG9uZV4yICAgfCBbNCw1KSB8IFsyMDAwLTA2LTAxLDIwMDAtMDctMDEp CisoNiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBuYW1lICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgIGlk ICAgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBmaXZlICAg fCBbMjAwMC0wMS0wMSwyMDAwLTAzLTAxKSB8IFs1LDYpCisgZml2ZV4xIHwgWzIwMDAtMDMtMDEs MjAwMC0wNC0wMSkgfCBbNSw2KQorIGZpdmUgICB8IFsyMDAwLTA0LTAxLDIwMDAtMDYtMDEpIHwg WzUsNikKKyBmaXZlICAgfCBbMjAwMC0wNy0wMSwyMDEwLTAxLTAxKSB8IFs1LDYpCisoNCByb3dz KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkOworUkVTRVQgZGF0ZXN0eWxlOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKaW5kZXggZGFhZmFhOTRmZGUu LjlmZjhlN2ZiMzYzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZp bGVnZXMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQK QEAgLTExMTksNiArMTExOSwyNCBAQCBFUlJPUjogIG51bGwgdmFsdWUgaW4gY29sdW1uICJiIiBv ZiByZWxhdGlvbiAiZXJydHN0X3BhcnRfMiIgdmlvbGF0ZXMgbm90LW51bGwgYwogREVUQUlMOiAg RmFpbGluZyByb3cgY29udGFpbnMgKGEsIGIsIGMpID0gKGFhYWEsIG51bGwsIGNjYykuCiBTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKIERST1AgVEFCTEUgZXJy dHN0OworLS0gdGVzdCBjb2x1bW4tbGV2ZWwgcHJpdmlsZWdlcyBvbiB0aGUgcmFuZ2UgdXNlZCBp biBGT1IgUE9SVElPTiBPRgorU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZf dXNlcjE7CitDUkVBVEUgVEFCTEUgdDEgKAorICBjMSBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IHRz cmFuZ2UsCisJQ09OU1RSQUlOVCB0MXBrIFBSSU1BUlkgS0VZIChjMSwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIy OworR1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK0dSQU5UIFVQREFU RSAoYzEpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFVQREFURSAoYzEsIHZh bGlkX2F0KSBPTiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitTRVQgU0VTU0lPTiBBVVRIT1JJ WkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK1VQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMpJzsK K0VSUk9SOiAgcGVybWlzc2lvbiBkZW5pZWQgZm9yIHRhYmxlIHQxCitTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK1VQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMp JzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOworRFJPUCBU QUJMRSB0MTsKIC0tIHRlc3QgY29sdW1uLWxldmVsIHByaXZpbGVnZXMgd2hlbiBpbnZvbHZlZCB3 aXRoIERFTEVURQogU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7 CiBBTFRFUiBUQUJMRSBhdGVzdDYgQUREIENPTFVNTiB0aHJlZSBpbnRlZ2VyOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0IGIvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC91cGRhdGFibGVfdmlld3Mub3V0CmluZGV4IDAzZGY3ZTc1Yjdi Li40ZmI5MjhkNTYxZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC91cGRh dGFibGVfdmlld3Mub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdXBkYXRhYmxl X3ZpZXdzLm91dApAQCAtMzcwMCw2ICszNzAwLDM4IEBAIHNlbGVjdCAqIGZyb20gdXZfaW9jdV90 YWI7CiAKIGRyb3AgdmlldyB1dl9pb2N1X3ZpZXc7CiBkcm9wIHRhYmxlIHV2X2lvY3VfdGFiOwor LS0gQ2hlY2sgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHdvcmtzIGNvcnJlY3RseQorY3JlYXRlIHRh YmxlIHV2X2Zwb190YWIgKGlkIGludDRyYW5nZSwgdmFsaWRfYXQgdHNyYW5nZSwgYiBmbG9hdCwK KyAgICBjb25zdHJhaW50IHBrX3V2X2Zwb190YWIgcHJpbWFyeSBrZXkgKGlkLCB2YWxpZF9hdCB3 aXRob3V0IG92ZXJsYXBzKSk7CitpbnNlcnQgaW50byB1dl9mcG9fdGFiIHZhbHVlcyAoJ1sxLDFd JywgJ1syMDIwLTAxLTAxLCAyMDMwLTAxLTAxKScsIDApOworY3JlYXRlIHZpZXcgdXZfZnBvX3Zp ZXcgYXMKKyAgICBzZWxlY3QgYiwgYisxIGFzIGMsIHZhbGlkX2F0LCBpZCwgJzIuMCc6OnRleHQg YXMgdHdvIGZyb20gdXZfZnBvX3RhYjsKK2luc2VydCBpbnRvIHV2X2Zwb192aWV3IChpZCwgdmFs aWRfYXQsIGIpIHZhbHVlcyAoJ1sxLDFdJywgJ1syMDEwLTAxLTAxLCAyMDIwLTAxLTAxKScsIDEp Oworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKKyBiIHwgYyB8ICAgICAgICAgICAgICAgICAg ICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgICAgfCAgaWQgICB8IHR3byAKKy0t LSstLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0rLS0tLS0KKyAwIHwgMSB8IFsiV2VkIEphbiAwMSAwMDowMDowMCAyMDIw IiwiVHVlIEphbiAwMSAwMDowMDowMCAyMDMwIikgfCBbMSwyKSB8IDIuMAorIDEgfCAyIHwgWyJG cmkgSmFuIDAxIDAwOjAwOjAwIDIwMTAiLCJXZWQgSmFuIDAxIDAwOjAwOjAwIDIwMjAiKSB8IFsx LDIpIHwgMi4wCisoMiByb3dzKQorCit1cGRhdGUgdXZfZnBvX3ZpZXcgZm9yIHBvcnRpb24gb2Yg dmFsaWRfYXQgZnJvbSAnMjAxNS0wMS0wMScgdG8gJzIwMjAtMDEtMDEnIHNldCBiID0gMiB3aGVy ZSBpZCA9ICdbMSwxXSc7CitzZWxlY3QgKiBmcm9tIHV2X2Zwb192aWV3OworIGIgfCBjIHwgICAg ICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICAgICB8ICBp ZCAgIHwgdHdvIAorLS0tKy0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLQorIDAgfCAxIHwgWyJXZWQgSmFuIDAx IDAwOjAwOjAwIDIwMjAiLCJUdWUgSmFuIDAxIDAwOjAwOjAwIDIwMzAiKSB8IFsxLDIpIHwgMi4w CisgMiB8IDMgfCBbIlRodSBKYW4gMDEgMDA6MDA6MDAgMjAxNSIsIldlZCBKYW4gMDEgMDA6MDA6 MDAgMjAyMCIpIHwgWzEsMikgfCAyLjAKKyAxIHwgMiB8IFsiRnJpIEphbiAwMSAwMDowMDowMCAy MDEwIiwiVGh1IEphbiAwMSAwMDowMDowMCAyMDE1IikgfCBbMSwyKSB8IDIuMAorKDMgcm93cykK KworZGVsZXRlIGZyb20gdXZfZnBvX3ZpZXcgZm9yIHBvcnRpb24gb2YgdmFsaWRfYXQgZnJvbSAn MjAxNy0wMS0wMScgdG8gJzIwMjItMDEtMDEnIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAq IGZyb20gdXZfZnBvX3ZpZXc7CisgYiB8IGMgfCAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIGlkICAgfCB0d28gCistLS0rLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tKy0tLS0tCisgMSB8IDIgfCBbIkZyaSBKYW4gMDEgMDA6MDA6MDAgMjAxMCIsIlRodSBKYW4g MDEgMDA6MDA6MDAgMjAxNSIpIHwgWzEsMikgfCAyLjAKKyAwIHwgMSB8IFsiU2F0IEphbiAwMSAw MDowMDowMCAyMDIyIiwiVHVlIEphbiAwMSAwMDowMDowMCAyMDMwIikgfCBbMSwyKSB8IDIuMAor IDIgfCAzIHwgWyJUaHUgSmFuIDAxIDAwOjAwOjAwIDIwMTUiLCJTdW4gSmFuIDAxIDAwOjAwOjAw IDIwMTciKSB8IFsxLDIpIHwgMi4wCisoMyByb3dzKQorCiAtLSBUZXN0IHdob2xlLXJvdyByZWZl cmVuY2VzIHRvIHRoZSB2aWV3CiBjcmVhdGUgdGFibGUgdXZfaW9jdV90YWIgKGEgaW50IHVuaXF1 ZSwgYiB0ZXh0KTsKIGNyZWF0ZSB2aWV3IHV2X2lvY3VfdmlldyBhcwpkaWZmIC0tZ2l0IGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292ZXJsYXBzLm91dCBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQKaW5kZXggZjMxNDRiZGMzOWMuLjQw MTU1MGI1NDgyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRf b3ZlcmxhcHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVy bGFwcy5vdXQKQEAgLTIsNyArMiw3IEBACiAtLQogLS0gV2UgbGVhdmUgYmVoaW5kIHNldmVyYWwg dGFibGVzIHRvIHRlc3QgcGdfZHVtcCBldGM6CiAtLSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX3Ju ZzIsCi0tLSB0ZW1wb3JhbF9ma19ybmcycm5nLgorLS0gdGVtcG9yYWxfZmtfcm5nMnJuZywgdGVt cG9yYWxfZmsyX3JuZzJybmcuCiBTRVQgZGF0ZXN0eWxlIFRPIElTTywgWU1EOwogLS0KIC0tIHRl c3QgaW5wdXQgcGFyc2VyCkBAIC04ODksNiArODg5LDM2IEBAIElOU0VSVCBJTlRPIHRlbXBvcmFs MyAoaWQsIHZhbGlkX2F0LCBpZDIsIG5hbWUpCiAgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAt MDEtMDEnLCAnMjAxMC0wMS0wMScpLCAnWzcsOCknLCAnZm9vJyksCiAgICgnWzIsMyknLCBkYXRl cmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpLCAnWzksMTApJywgJ2JhcicpCiA7CitV UERBVEUgdGVtcG9yYWwzIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDUtMDEn IFRPICcyMDAwLTA3LTAxJworICBTRVQgbmFtZSA9IG5hbWUgfHwgJzEnOworVVBEQVRFIHRlbXBv cmFsMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA0LTAxJyBUTyAnMjAwMC0w Ni0wMScKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcyJworICBXSEVSRSBpZCA9ICdbMiwzKSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8ICBpZDIgICB8IG5hbWUgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IFsyMDAwLTAxLTAx LDIwMDAtMDUtMDEpIHwgWzcsOCkgIHwgZm9vCisgWzEsMikgfCBbMjAwMC0wNS0wMSwyMDAwLTA3 LTAxKSB8IFs3LDgpICB8IGZvbzEKKyBbMSwyKSB8IFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpIHwg WzcsOCkgIHwgZm9vCisgWzIsMykgfCBbMjAwMC0wMS0wMSwyMDAwLTA0LTAxKSB8IFs5LDEwKSB8 IGJhcgorIFsyLDMpIHwgWzIwMDAtMDQtMDEsMjAwMC0wNS0wMSkgfCBbOSwxMCkgfCBiYXIyCisg WzIsMykgfCBbMjAwMC0wNS0wMSwyMDAwLTA2LTAxKSB8IFs5LDEwKSB8IGJhcjEyCisgWzIsMykg fCBbMjAwMC0wNi0wMSwyMDAwLTA3LTAxKSB8IFs5LDEwKSB8IGJhcjEKKyBbMiwzKSB8IFsyMDAw LTA3LTAxLDIwMTAtMDEtMDEpIHwgWzksMTApIHwgYmFyCisoOCByb3dzKQorCistLSBjb25mbGlj dGluZyBpZCBvbmx5OgorSU5TRVJUIElOVE8gdGVtcG9yYWwzIChpZCwgdmFsaWRfYXQsIGlkMiwg bmFtZSkKKyAgVkFMVUVTCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDUtMDEtMDEnLCAnMjAw Ni0wMS0wMScpLCAnWzgsOSknLCAnZm9vMycpOworRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFs dWUgdmlvbGF0ZXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFsM19wayIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDA1LTAxLTAxLDIwMDYtMDEtMDEpKSBjb25m bGljdHMgd2l0aCBleGlzdGluZyBrZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAwMC0wNy0w MSwyMDEwLTAxLTAxKSkuCistLSBjb25mbGljdGluZyBpZDIgb25seToKK0lOU0VSVCBJTlRPIHRl bXBvcmFsMyAoaWQsIHZhbGlkX2F0LCBpZDIsIG5hbWUpCisgIFZBTFVFUworICAoJ1szLDQpJywg ZGF0ZXJhbmdlKCcyMDA1LTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s5LDEwKScsICdiYXIzJyk7 CitFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2aW9sYXRlcyBleGNsdXNpb24gY29uc3Ry YWludCAidGVtcG9yYWwzX3VuaXEiCitERVRBSUw6ICBLZXkgKGlkMiwgdmFsaWRfYXQpPShbOSwx MCksIFsyMDA1LTAxLTAxLDIwMTAtMDEtMDEpKSBjb25mbGljdHMgd2l0aCBleGlzdGluZyBrZXkg KGlkMiwgdmFsaWRfYXQpPShbOSwxMCksIFsyMDAwLTA3LTAxLDIwMTAtMDEtMDEpKS4KIERST1Ag VEFCTEUgdGVtcG9yYWwzOwogLS0KIC0tIHRlc3QgY2hhbmdpbmcgdGhlIFBLJ3MgZGVwZW5kZW5j aWVzCkBAIC05MjAsMjYgKzk1MCw0MyBAQCBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAw MC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgn MjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKICAgKCdbMyw0KScsIGRhdGVyYW5n ZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0aHJlZScpOwotU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAotLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0KLSBbMSwyKSB8IFsyMDAwLTAxLTAxLDIwMDAtMDItMDEpIHwgb25lCi0g WzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAzLTAxKSB8IG9uZQotIFszLDQpIHwgWzIwMDAtMDEt MDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorU0VMRUNUIHRhYmxlb2lkOjpyZWdjbGFzcywgKiBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyB0YWJsZW9pZCB8 ICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBuYW1lICAKKy0tLS0tLS0tLS0rLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyB0cDEgICAgICB8IFsxLDIp IHwgWzIwMDAtMDEtMDEsMjAwMC0wMi0wMSkgfCBvbmUKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIw MDAtMDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKKyB0cDIgICAgICB8IFszLDQpIHwgWzIwMDAtMDEt MDEsMjAxMC0wMS0wMSkgfCB0aHJlZQogKDMgcm93cykKIAotU0VMRUNUICogRlJPTSB0cDEgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OwotICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBu YW1lIAotLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLQotIFsxLDIpIHwg WzIwMDAtMDEtMDEsMjAwMC0wMi0wMSkgfCBvbmUKLSBbMSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAt MDMtMDEpIHwgb25lCi0oMiByb3dzKQotCi1TRUxFQ1QgKiBGUk9NIHRwMiBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUgIAotLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0KLSBbMyw0KSB8IFsyMDAwLTAx LTAxLDIwMTAtMDEtMDEpIHwgdGhyZWUKLSgxIHJvdykKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0 aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0xNScgVE8gJzIw MDAtMDItMTUnCisgIFNFVCBuYW1lID0gJ29uZTInCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1VQ REFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAwMC0wMi0yMCcgVE8gJzIwMDAtMDItMjUnCisgIFNFVCBpZCA9ICdbNCw1KScKKyAgV0hF UkUgbmFtZSA9ICdvbmUnOworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScKKyAgU0VU IGlkID0gJ1syLDMpJworICBXSEVSRSBuYW1lID0gJ3RocmVlJzsKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEt MTUnIFRPICcyMDAwLTAyLTE1JworICBXSEVSRSBpZCA9ICdbMyw0KSc7CitTRUxFQ1QgdGFibGVv aWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworIHRhYmxlb2lkIHwgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5h bWUgIAorLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LQorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAxLTE1KSB8IG9uZQorIHRw MSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0xNSwyMDAwLTAyLTAxKSB8IG9uZTIKKyB0cDEgICAg ICB8IFsxLDIpIHwgWzIwMDAtMDItMDEsMjAwMC0wMi0xNSkgfCBvbmUyCisgdHAxICAgICAgfCBb MSwyKSB8IFsyMDAwLTAyLTE1LDIwMDAtMDItMjApIHwgb25lCisgdHAxICAgICAgfCBbMSwyKSB8 IFsyMDAwLTAyLTI1LDIwMDAtMDMtMDEpIHwgb25lCisgdHAxICAgICAgfCBbMiwzKSB8IFsyMDAy LTAxLTAxLDIwMDMtMDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8IFszLDQpIHwgWzIwMDAtMDEt MDEsMjAwMC0wMS0xNSkgfCB0aHJlZQorIHRwMiAgICAgIHwgWzMsNCkgfCBbMjAwMC0wMi0xNSwy MDAyLTAxLTAxKSB8IHRocmVlCisgdHAyICAgICAgfCBbMyw0KSB8IFsyMDAzLTAxLTAxLDIwMTAt MDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8IFs0LDUpIHwgWzIwMDAtMDItMjAsMjAwMC0wMi0y NSkgfCBvbmUKKygxMCByb3dzKQogCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkOwog LS0gdGVtcG9yYWwgVU5JUVVFOgpAQCAtOTU1LDI2ICsxMDAyLDQzIEBAIElOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAoJ1sxLDIp JywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAogICAoJ1sx LDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAogICAo J1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ3RocmVlJyk7 Ci1TRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgbmFtZSAgCi0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQotIFsxLDIpIHwgWzIwMDAtMDEtMDEsMjAw MC0wMi0wMSkgfCBvbmUKLSBbMSwyKSB8IFsyMDAwLTAyLTAxLDIwMDAtMDMtMDEpIHwgb25lCi0g WzMsNCkgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVlCitTRUxFQ1QgdGFibGVvaWQ6 OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworIHRhYmxlb2lkIHwgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IG5hbWUg IAorLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQor IHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8IG9uZQorIHRwMSAg ICAgIHwgWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAzLTAxKSB8IG9uZQorIHRwMiAgICAgIHwg WzMsNCkgfCBbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKSB8IHRocmVlCiAoMyByb3dzKQogCi1TRUxF Q1QgKiBGUk9NIHRwMSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci0gIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IG5hbWUgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tCi0gWzEsMikgfCBbMjAwMC0wMS0wMSwyMDAwLTAyLTAxKSB8IG9uZQotIFsxLDIpIHwg WzIwMDAtMDItMDEsMjAwMC0wMy0wMSkgfCBvbmUKLSgyIHJvd3MpCi0KLVNFTEVDVCAqIEZST00g dHAyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgbmFtZSAgCi0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLQot IFszLDQpIHwgWzIwMDAtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQotKDEgcm93KQorVVBEQVRF ICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDAwLTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgU0VUIG5hbWUgPSAnb25lMicKKyAgV0hFUkUg aWQgPSAnWzEsMiknOworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAyLTIwJyBUTyAnMjAwMC0wMi0yNScKKyAgU0VUIGlk ID0gJ1s0LDUpJworICBXSEVSRSBuYW1lID0gJ29uZSc7CitVUERBVEUgIHRlbXBvcmFsX3BhcnRp dGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEtMDEnIFRPICcy MDAzLTAxLTAxJworICBTRVQgaWQgPSAnWzIsMyknCisgIFdIRVJFIG5hbWUgPSAndGhyZWUnOwor REVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAwMC0wMS0xNScgVE8gJzIwMDAtMDItMTUnCisgIFdIRVJFIGlkID0gJ1szLDQp JzsKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgdGFibGVvaWQgfCAgaWQgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgbmFtZSAgCistLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAxLTAxLDIwMDAt MDEtMTUpIHwgb25lCisgdHAxICAgICAgfCBbMSwyKSB8IFsyMDAwLTAxLTE1LDIwMDAtMDItMDEp IHwgb25lMgorIHRwMSAgICAgIHwgWzEsMikgfCBbMjAwMC0wMi0wMSwyMDAwLTAyLTE1KSB8IG9u ZTIKKyB0cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMTUsMjAwMC0wMi0yMCkgfCBvbmUKKyB0 cDEgICAgICB8IFsxLDIpIHwgWzIwMDAtMDItMjUsMjAwMC0wMy0wMSkgfCBvbmUKKyB0cDEgICAg ICB8IFsyLDMpIHwgWzIwMDItMDEtMDEsMjAwMy0wMS0wMSkgfCB0aHJlZQorIHRwMiAgICAgIHwg WzMsNCkgfCBbMjAwMC0wMS0wMSwyMDAwLTAxLTE1KSB8IHRocmVlCisgdHAyICAgICAgfCBbMyw0 KSB8IFsyMDAwLTAyLTE1LDIwMDItMDEtMDEpIHwgdGhyZWUKKyB0cDIgICAgICB8IFszLDQpIHwg WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSkgfCB0aHJlZQorIHRwMiAgICAgIHwgWzQsNSkgfCBbMjAw MC0wMi0yMCwyMDAwLTAyLTI1KSB8IG9uZQorKDEwIHJvd3MpCiAKIERST1AgVEFCTEUgdGVtcG9y YWxfcGFydGl0aW9uZWQ7CiAtLSBBTFRFUiBUQUJMRSBSRVBMSUNBIElERU5USVRZCkBAIC0xNzU1 LDYgKzE4MTksMzMgQEAgVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknCiAgIFdI RVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAxOC0wMi0wMScpOwogRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3Jh bF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJy bmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycm5nIgogREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVy ZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIuCistLSBjaGFuZ2luZyBhbiB1 bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX3JuZworICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKKyAgU0VU IGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEg cGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCisgIFNFVCBpZCA9ICdbNyw4KScK KyAgV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxl ICJ0ZW1wb3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFs X2ZrX3JuZzJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycm5nIgorREVUQUlMOiAg S2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkpIGlzIHN0 aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIuCitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgCistLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBbNSw2KSB8IFsyMDE2LTAyLTAxLDIwMTYt MDMtMDEpCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKQorIFs1LDYpIHwgWzIwMTgt MDEtMDMsMjAxOC0wMi0wMSkKKyBbNyw4KSB8IFsyMDE4LTAxLTAyLDIwMTgtMDEtMDMpCisoNCBy b3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgaW4gKCdb Myw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMS0wNSwyMDE4LTAxLTEwKSB8IFs1LDYpCisoMSBy b3cpCisKIC0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0aGUgc2Ft ZSBQSyB1cGRhdGUgc3VjY2VlZHM6CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdI RVJFIGlkID0gJ1szLDQpJzsKIFVQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gZGF0 ZXJhbmdlKCcyMDE2LTAxLTAxJywgJzIwMTYtMDItMDEnKQpAQCAtMTgwMiw2ICsxODkzLDQyIEBA IEJFR0lOOwogQ09NTUlUOwogRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1w b3JhbF9ybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3Ju ZzJybmdfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycm5nIgogREVUQUlMOiAgS2V5IChp ZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJl ZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnJuZyIuCistLSBkZWxldGluZyBh biB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycK K1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlk IGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorIFs1LDYpIHwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wMikKKyBbNSw2KSB8IFsyMDE4LTAxLTAz LDIwMTgtMDItMDEpCisoMiByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJy bmcgV0hFUkUgaWQgaW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzMsNCkgfCBbMjAxOC0wMS0wNSwyMDE4LTAx LTEwKSB8IFs1LDYpCisoMSByb3cpCisKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAg dXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWdu IGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9y YWxfZmtfcm5nMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4 LTAxLTAzLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBv cmFsX2ZrX3JuZzJybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgaW4g KCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisg WzUsNikgfCBbMjAxOC0wMS0wMSwyMDE4LTAxLTAyKQorIFs1LDYpIHwgWzIwMTgtMDEtMDMsMjAx OC0wMi0wMSkKKygyIHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBX SEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0KSB8IFsyMDE4LTAxLTA1LDIwMTgtMDEtMTAp IHwgWzUsNikKKygxIHJvdykKKwogLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNv cmQgYW5kIHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVkczoKIERFTEVURSBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxfcm5n IFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAxOC0wMi0wMScpOwpAQCAtMTgxOCwxMSArMTk0NSwxMiBAQCBBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycm5nCiAgIE9OIERFTEVURSBSRVNUUklDVDsKIEVSUk9SOiAgdW5zdXBwb3J0 ZWQgT04gREVMRVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJ T0QKIC0tCi0tLSB0ZXN0IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucworLS0gcm5nMnJuZyB0ZXN0 IE9OIFVQREFURS9ERUxFVEUgb3B0aW9ucwogLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRh dGVzIENBU0NBREUKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsK IElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwotSU5TRVJUIElOVE8gdGVt cG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s0LDUp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgIEFERCBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCkBAIC0xODMwLDggKzE5NTgsOSBAQCBBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CiBF UlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0 cmFpbnQgdXNpbmcgUEVSSU9ECiAtLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TAotSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s5LDEw KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwotSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s5LDEwKScpOwor VFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19ybmcycm5nCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdf ZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCkBAIC0xODM5 LDkgKzE5NjgsMTAgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICAgIE9OIERF TEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CiBFUlJPUjogIHVuc3VwcG9ydGVkIE9O IFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECiAt LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorVFJVTkNBVEUgdGVtcG9y YWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOwot SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMiwxMykn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKLUlOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTIsMTMpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBT RVQgREVGQVVMVCAnWy0xLC0xXScsCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJy bmdfZmsKQEAgLTIyMTEsNiArMjM0MSwyMiBAQCBVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBp ZCA9ICdbNyw4KScKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJykpOwogRVJST1I6ICB1 cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9tbHRybmciIHZpb2xhdGVzIGZvcmVp Z24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsiIG9uIHRhYmxl ICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIgogREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQp PShbNSw2KSwge1syMDE4LTAxLTAxLDIwMTgtMDItMDEpfSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBm cm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIi4KKy0tIGNoYW5naW5nIGFuIHVu cmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDIn LCAnMjAxOC0wMS0wMycpKSkKKyAgU0VUIGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2 KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9tbHRy bmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJykpKQorICBTRVQgaWQgPSAnWzcsOCknCisgIFdIRVJF IGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9y YWxfbWx0cm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIKK0RF VEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIHtbMjAxOC0wMS0wMSwyMDE4LTAxLTAy KSxbMjAxOC0wMS0wMywyMDE4LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJs ZSAidGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyIuCistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0 aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZS T00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUg dGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hFUkUgaWQgPSAnWzUsNiknIEFO RCB2YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4 LTAyLTAxJykpOwogLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFJFU1RSSUNUCiAt LQpAQCAtMjI1Myw2ICsyMzk5LDE5IEBAIEJFR0lOOwogQ09NTUlUOwogRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9tbHRybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsiIG9uIHRhYmxlICJ0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIgogREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2 KSwge1syMDE4LTAxLTAxLDIwMTgtMDItMDEpfSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIi4KKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJl bmNlZCBwYXJ0IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcKK0ZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDInLCAn MjAxOC0wMS0wMycpKSkKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBw YXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nCitGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTA1JywgJzIwMTgtMDEt MTAnKSkpCitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24g dGFibGUgInRlbXBvcmFsX21sdHJuZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAi dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZ19mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCB7WzIwMTgtMDEt MDEsMjAxOC0wMS0wMiksWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSl9KSBpcyBzdGlsbCByZWZlcmVu Y2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmciLgorLS0gdGhlbiBkZWxl dGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVk czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzMs NCknOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQg dmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0w Mi0wMScpKTsKIC0tCiAtLSBGSyBiZXR3ZWVuIHBhcnRpdGlvbmVkIHRhYmxlczogcmFuZ2VzCiAt LQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSBiL3NyYy90 ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKaW5kZXggZjk0NTBjZGM0NzcuLmY3OGMzNGNi OTc4IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBi L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTQ4LDcgKzQ4LDcgQEAgdGVz dDogY3JlYXRlX2luZGV4IGNyZWF0ZV9pbmRleF9zcGdpc3QgY3JlYXRlX3ZpZXcgaW5kZXhfaW5j bHVkaW5nIGluZGV4X2luY2x1ZGkKICMgLS0tLS0tLS0tLQogIyBBbm90aGVyIGdyb3VwIG9mIHBh cmFsbGVsIHRlc3RzCiAjIC0tLS0tLS0tLS0KLXRlc3Q6IGNyZWF0ZV9hZ2dyZWdhdGUgY3JlYXRl X2Z1bmN0aW9uX3NxbCBjcmVhdGVfY2FzdCBjb25zdHJhaW50cyB0cmlnZ2VycyBzZWxlY3QgaW5o ZXJpdCB0eXBlZF90YWJsZSB2YWN1dW0gZHJvcF9pZl9leGlzdHMgdXBkYXRhYmxlX3ZpZXdzIHJv bGVhdHRyaWJ1dGVzIGNyZWF0ZV9hbSBoYXNoX2Z1bmMgZXJyb3JzIGluZmluaXRlX3JlY3Vyc2UK K3Rlc3Q6IGNyZWF0ZV9hZ2dyZWdhdGUgY3JlYXRlX2Z1bmN0aW9uX3NxbCBjcmVhdGVfY2FzdCBj b25zdHJhaW50cyB0cmlnZ2VycyBzZWxlY3QgaW5oZXJpdCB0eXBlZF90YWJsZSB2YWN1dW0gZHJv cF9pZl9leGlzdHMgdXBkYXRhYmxlX3ZpZXdzIHJvbGVhdHRyaWJ1dGVzIGNyZWF0ZV9hbSBoYXNo X2Z1bmMgZXJyb3JzIGluZmluaXRlX3JlY3Vyc2UgZm9yX3BvcnRpb25fb2YKIAogIyAtLS0tLS0t LS0tCiAjIHNhbml0eV9jaGVjayBkb2VzIGEgdmFjdXVtLCBhZmZlY3RpbmcgdGhlIHNvcnQgb3Jk ZXIgb2YgU0VMRUNUICoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0 aW9uX29mLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zvcl9wb3J0aW9uX29mLnNxbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMGU2YzJkYjVhNzUKLS0tIC9kZXYv bnVsbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKQEAgLTAs MCArMSw5MDUgQEAKKy0tIFRlc3RzIGZvciBVUERBVEUvREVMRVRFIEZPUiBQT1JUSU9OIE9GCisK K1NFVCBkYXRlc3R5bGUgVE8gSVNPLCBZTUQ7CisKKy0tIFdvcmtzIG9uIG5vbi1QSyBjb2x1bW5z CitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQgTk9UIE5VTEwKKyk7CitJTlNFUlQgSU5U TyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAoJ1sx LDIpJywgJ1syMDE4LTAxLTAyLDIwMjAtMDEtMDEpJywgJ29uZScpOworCitVUERBVEUgZm9yX3Bv cnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1 JyBUTyAnMjAxOS0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnOworCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMTUnIFRPICcyMDE5LTAxLTIwJzsKKworLS0gV2l0aCBhIHRhYmxlIGFsaWFzIHdpdGggQVMK KworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMi0wMScgVE8gJzIwMTktMDItMDMnIEFTIHQKKyAgU0VUIG5hbWUgPSAnb25l XjInOworCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDItMDMnIFRPICcyMDE5LTAyLTA0JyBBUyB0OworCistLSBX aXRoIGEgdGFibGUgYWxpYXMgd2l0aG91dCBBUworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAyLTA0JyBUTyAnMjAxOS0w Mi0wNScgdAorICBTRVQgbmFtZSA9ICdvbmVeMyc7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9u X29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMi0wNScgVE8g JzIwMTktMDItMDYnIHQ7CisKKy0tIFVQREFURSB3aXRoIEZST00KKworVVBEQVRFIGZvcl9wb3J0 aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMy0wMScg dG8gJzIwMTktMDMtMDInCisgIFNFVCBuYW1lID0gJ29uZV40JworICBGUk9NIChTRUxFQ1QgJ1sx LDIpJzo6aW50NHJhbmdlKSBBUyB0MihpZCkKKyAgV0hFUkUgZm9yX3BvcnRpb25fb2ZfdGVzdC5p ZCA9IHQyLmlkOworCistLSBERUxFVEUgd2l0aCBVU0lORworCitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDMtMDIn IFRPICcyMDE5LTAzLTAzJworICBVU0lORyAoU0VMRUNUICdbMSwyKSc6OmludDRyYW5nZSkgQVMg dDIoaWQpCisgIFdIRVJFIGZvcl9wb3J0aW9uX29mX3Rlc3QuaWQgPSB0Mi5pZDsKKworU0VMRUNU ICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0g V29ya3Mgb24gbW9yZSB0aGFuIG9uZSByYW5nZQorRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90 ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkMV9hdCBkYXRlcmFuZ2UsCisgIHZhbGlkMl9hdCBkYXRlcmFuZ2UsCisgIG5hbWUg dGV4dCBOT1QgTlVMTAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2 YWxpZDFfYXQsIHZhbGlkMl9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEt MDIsMjAxOC0wMi0wMyknLCAnWzIwMTUtMDEtMDEsMjAyNS0wMS0wMSknLCAnb25lJyk7CisKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkMV9hdCBGUk9N ICcyMDE4LTAxLTE1JyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2Zvbyc7CisgIFNFTEVDVCAqIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7 CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkMl9h dCBGUk9NICcyMDE4LTAxLTE1JyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2Jhcic7CisgIFNFTEVD VCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxp ZDJfYXQ7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWQxX2F0IEZST00gJzIwMTgtMDEtMjAnIFRPIE5VTEw7CisgIFNFTEVDVCAqIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7CisK K0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWQy X2F0IEZST00gJzIwMTgtMDEtMjAnIFRPIE5VTEw7CisgIFNFTEVDVCAqIEZST00gZm9yX3BvcnRp b25fb2ZfdGVzdCBPUkRFUiBCWSBpZCwgdmFsaWQxX2F0LCB2YWxpZDJfYXQ7CisKKy0tIFRlc3Qg d2l0aCBOVUxMcyBpbiB0aGUgc2NhbGFyL3JhbmdlIGtleSBjb2x1bW5zLgorLS0gVGhpcyB3b24n dCBoYXBwZW4gaWYgdGhlcmUgaXMgYSBQUklNQVJZIEtFWSBvciBVTklRVUUgY29uc3RyYWludAor LS0gYnV0IEZPUiBQT1JUSU9OIE9GIHNob3VsZG4ndCByZXF1aXJlIHRoYXQuCitEUk9QIFRBQkxF IGZvcl9wb3J0aW9uX29mX3Rlc3Q7CitDUkVBVEUgVU5MT0dHRUQgVEFCTEUgZm9yX3BvcnRpb25f b2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1l IHRleHQKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQs IG5hbWUpIFZBTFVFUworICAoJ1sxLDIpJywgTlVMTCwgJzEgbnVsbCcpLAorICAoJ1sxLDIpJywg JygsKScsICcxIHVuYm91bmRlZCcpLAorICAoJ1sxLDIpJywgJ2VtcHR5JywgJzEgZW1wdHknKSwK KyAgKE5VTEwsIE5VTEwsIE5VTEwpLAorICAoTlVMTCwgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMTktMDEtMDEnKSwgJ251bGwga2V5Jyk7CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gTlVMTAorICBTRVQgbmFtZSA9 ICdOVUxMIHRvIE5VTEwnOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKworRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0OworCist LQorLS0gVVBEQVRFIHRlc3RzCistLQorCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVz dCAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVMTCwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlIE5PVCBO VUxMLAorICBuYW1lIHRleHQgTk9UIE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2Zf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VS VCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisg ICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnb25lJyksCisgICgnWzEsMikn LCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgt MDMtMDMsMjAxOC0wNC0wNCknLCAnb25lJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAx OC0wMS0wNSknLCAndHdvJyksCisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsKScsICd0aHJlZScp LAorICAoJ1s0LDUpJywgJygsMjAxOC0wNC0wMSknLCAnZm91cicpLAorICAoJ1s1LDYpJywgJygs KScsICdmaXZlJykKKyAgOworXHNldCBRVUlFVCBmYWxzZQorCistLSBVcGRhdGluZyB3aXRoIGEg bWlzc2luZyBjb2x1bW4gZmFpbHMKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIGludmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVMTAorICBTRVQgbmFt ZSA9ICdmb28nCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworLS0gVXBkYXRpbmcgdGhlIHJhbmdl IGZhaWxzCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBUTyBOVUxMCisgIFNFVCB2YWxpZF9hdCA9ICdbMTk5MC0w MS0wMSwxOTk5LTAxLTAxKScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCistLSBUaGUgd3Jvbmcg dHlwZSBmYWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAxIFRPIDQKKyAgU0VUIG5hbWUgPSAnbm9wZScKKyAgV0hFUkUgaWQgPSAn WzMsNCknOworCistLSBVcGRhdGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDYtMDEnIFRPICcyMDE4LTAxLTAxJworICBTRVQgbmFtZSA9ICd0aHJlZV4xJworICBX SEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIHdpdGggYSBzdWJxdWVyeSBmYWlscwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAoU0VMRUNUICcyMDE4LTAxLTAxJykgVE8gJzIwMTgtMDYtMDEnCisgIFNFVCBuYW1lID0gJ25v cGUnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gVXBkYXRpbmcgd2l0aCBhIGNvbHVtbiBm YWlscworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAorICBTRVQgbmFtZSA9ICdub3BlJworICBX SEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIHdpdGggdGltZXN0YW1wcyBlcXVhbCBk b2VzIG5vdGhpbmcKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA0LTAxJworICBTRVQgbmFtZSA9 ICd0aHJlZV4wJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIFVwZGF0aW5nIGEgZmluaXRl L29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRp b25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTA2LTAxJyBU TyBOVUxMCisgIFNFVCBuYW1lID0gJ3RocmVlXjEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKwor LS0gVXBkYXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYW4gb3Blbi9maW5pdGUgdGFy Z2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NIE5VTEwgVE8gJzIwMTgtMDMtMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjInCisgIFdI RVJFIGlkID0gJ1szLDQpJzsKKworLS0gVXBkYXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3 aXRoIGFuIG9wZW4vZmluaXRlIHRhcmdldAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBOVUxMIFRPICcyMDE4LTAyLTAxJworICBTRVQg bmFtZSA9ICdmb3VyXjEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsKKworLS0gVXBkYXRpbmcgYW4g b3Blbi9maW5pdGUgcG9ydGlvbiB3aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE3LTAx LTAxJyBUTyBOVUxMCisgIFNFVCBuYW1lID0gJ2ZvdXJeMicKKyAgV0hFUkUgaWQgPSAnWzQsNSkn OworCistLSBVcGRhdGluZyBhIGZpbml0ZS9maW5pdGUgcG9ydGlvbiB3aXRoIGFuIGV4YWN0IGZp dAorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxNy0wMS0wMScgVE8gJzIwMTgtMDItMDEnCisgIFNFVCBuYW1lID0gJ2ZvdXJeMycK KyAgV0hFUkUgaWQgPSAnWzQsNSknOworCistLSBVcGRhdGluZyBhbiBlbmNsb3NlZCBzcGFuCitV UERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N IE5VTEwgVE8gTlVMTAorICBTRVQgbmFtZSA9ICd0d29eMicKKyAgV0hFUkUgaWQgPSAnWzIsMykn OworCistLSBVcGRhdGluZyBhbiBvcGVuL29wZW4gcG9ydGlvbiB3aXRoIGEgZmluaXRlL2Zpbml0 ZSB0YXJnZXQKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBTRVQgbmFtZSA9ICdm aXZlXjEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworLS0gVXBkYXRpbmcgYW4gZW5jbG9zZWQg c3BhbiB3aXRoIHNlcGFyYXRlIHByb3RydWRpbmcgc3BhbnMKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPICcy MDIwLTAxLTAxJworICBTRVQgbmFtZSA9ICdmaXZlXjInCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsK KworLS0gVXBkYXRpbmcgbXVsdGlwbGUgZW5jbG9zZWQgc3BhbnMKK1VQREFURSBmb3JfcG9ydGlv bl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBUTyBOVUxMCisg IFNFVCBuYW1lID0gJ29uZV4yJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIFVwZGF0aW5n IHdpdGggYSBkaXJlY3QgdGFyZ2V0CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZXJhbmdlKCcyMDE4LTAzLTEwJywgJzIwMTgtMDMtMTcn KSkKKyAgU0VUIG5hbWUgPSAnb25lXjMnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gVXBk YXRpbmcgdGhlIG5vbi1yYW5nZSBwYXJ0IG9mIHRoZSBQSzoKK1VQREFURSBmb3JfcG9ydGlvbl9v Zl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMTUnIFRPIE5V TEwKKyAgU0VUIGlkID0gJ1s2LDcpJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKKy0tIFVQREFU RSB3aXRoIG5vIFdIRVJFIGNsYXVzZQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAzMC0wMS0wMScgVE8gTlVMTAorICBTRVQgbmFt ZSA9IG5hbWUgfHwgJyonOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworXHNldCBRVUlFVCB0cnVlCisKKy0tIFVwZGF0aW5nIHdpdGgg YSBzaGlmdC9yZWR1Y2UgY29uZmxpY3QKKy0tIChyZXF1aXJlcyBhIHRzcmFuZ2UgY29sdW1uKQor Q1JFQVRFIFVOTE9HR0VEIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9hdCB0c3JhbmdlLAorICBuYW1lIHRleHQKKyk7CitJTlNFUlQgSU5UTyBm b3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwy KScsICdbMjAwMC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKy0tIHVwZGF0ZXMgWzIwMTEt MDMtMDEgMDE6MDI6MDAsIDIwMTItMDEtMDEpIChub3RlIDIgbWludXRlcykKK1VQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0MgorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdAorICAgIEZST00gJzIw MTEtMDMtMDEnOjp0aW1lc3RhbXAgKyBJTlRFUlZBTCAnMTowMjowMycgSE9VUiBUTyBNSU5VVEUK KyAgICBUTyAnMjAxMi0wMS0wMScKKyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0g J1sxLDIpJzsKKworLS0gVE8gaXMgdXNlZCBmb3IgdGhlIGJvdW5kIGJ1dCBub3QgdGhlIElOVEVS VkFMOgorLS0gc3ludGF4IGVycm9yCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQKKyAgICBGUk9NICcyMDEzLTAzLTAxJzo6dGltZXN0YW1wICsg SU5URVJWQUwgJzE6MDI6MDMnIEhPVVIKKyAgICBUTyAnMjAxNC0wMS0wMScKKyAgU0VUIG5hbWUg PSAnb25lXjInCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gYWRkaW5nIHBhcmVucyBmaXhl cyBpdAorLS0gdXBkYXRlcyBbMjAxNS0wMy0wMSAwMTowMDowMCwgMjAxNi0wMS0wMSkgKG5vIG1p bnV0ZXMpCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQKKyAgICBGUk9NICgnMjAxNS0wMy0wMSc6OnRpbWVzdGFtcCArIElOVEVSVkFMICcxOjAy OjAzJyBIT1VSKQorICAgIFRPICcyMDE2LTAxLTAxJworICBTRVQgbmFtZSA9ICdvbmVeMycKKyAg V0hFUkUgaWQgPSAnWzEsMiknOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Qy IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDI7 CisKKy0tIFVQREFURSBGT1IgUE9SVElPTiBPRiBpbiBhIENURToKKworLS0gVmlzaWJsZSB0byBT RUxFQ1Q6CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5h bWUpIFZBTFVFUworICAoJ1sxMCwxMSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGVu Jyk7CitXSVRIIHVwZGF0ZV9hcHIgQVMgKAorICBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICAgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA1 LTAxJworICAgIFNFVCBuYW1lID0gJ0FwciAyMDE4JworICAgIFdIRVJFIGlkID0gJ1sxMCwxMSkn CisgICAgUkVUVVJOSU5HIGlkLCB2YWxpZF9hdCwgbmFtZQorKQorU0VMRUNUICoKKyAgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0IEFTIHQsIHVwZGF0ZV9hcHIKKyAgV0hFUkUgdC5pZCA9IHVwZGF0 ZV9hcHIuaWQ7CitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QgV0hFUkUgaWQgPSAn WzEwLDExKSc7CisKKy0tIE5vdCB2aXNpYmxlIHRvIFVQREFURToKKy0tIFR1cGxlcyB1cGRhdGVk L2luc2VydGVkIHdpdGhpbiB0aGUgQ1RFIGFyZSBub3QgdmlzaWJsZSB0byB0aGUgbWFpbiBxdWVy eSB5ZXQsCistLSBidXQgbmVpdGhlciBhcmUgb2xkIHR1cGxlcyB0aGUgQ1RFIGNoYW5nZWQ6CitJ TlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0IChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVF UworICAoJ1sxMSwxMiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnZWxldmVuJyk7CitX SVRIIHVwZGF0ZV9hcHIgQVMgKAorICBVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAorICAgIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDQtMDEnIFRPICcyMDE4LTA1LTAxJwor ICAgIFNFVCBuYW1lID0gJ0FwciAyMDE4JworICAgIFdIRVJFIGlkID0gJ1sxMSwxMiknCisgICAg UkVUVVJOSU5HIGlkLCB2YWxpZF9hdCwgbmFtZQorKQorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgt MDYtMDEnCisgIEFTIHQKKyAgU0VUIG5hbWUgPSAnTWF5IDIwMTgnCisgIEZST00gdXBkYXRlX2Fw ciBBUyBqCisgIFdIRVJFIHQuaWQgPSBqLmlkOworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0IFdIRVJFIGlkID0gJ1sxMSwxMiknOworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdCBXSEVSRSBpZCBJTiAoJ1sxMCwxMSknLCAnWzExLDEyKScpOworCistLSBVUERBVEUgRk9S IFBPUlRJT04gT0YgaW4gYSBQTC9wZ1NRTCBmdW5jdGlvbgorSU5TRVJUIElOVE8gZm9yX3BvcnRp b25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMTAsMTEpJywgJ1sy MDE4LTAxLTAxLDIwMjAtMDEtMDEpJywgJ3RlbicpOworQ1JFQVRFIEZVTkNUSU9OIGZwb191cGRh dGUoX2lkIGludDRyYW5nZSwgX3RhcmdldF9mcm9tIGRhdGUsIF90YXJnZXRfdGlsIGRhdGUpCitS RVRVUk5TIHZvaWQgTEFOR1VBR0UgcGxwZ3NxbCBBUworJCQKK0JFR0lOCisgIFVQREFURSBmb3Jf cG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAkMiBUTyAk MworICAgIFNFVCBuYW1lID0gY29uY2F0KF90YXJnZXRfZnJvbTo6dGV4dCwgJyB0byAnLCBfdGFy Z2V0X3RpbDo6dGV4dCkKKyAgICBXSEVSRSBpZCA9ICQxOworRU5EOworJCQ7CitTRUxFQ1QgZnBv X3VwZGF0ZSgnWzEwLDExKScsICcyMDE1LTAxLTAxJywgJzIwMTktMDEtMDEnKTsKK1NFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdCBXSEVSRSBpZCA9ICdbMTAsMTEpJzsKKworRFJPUCBU QUJMRSBmb3JfcG9ydGlvbl9vZl90ZXN0OworCistLQorLS0gREVMRVRFIHRlc3RzCistLQorCitD UkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdCAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVM TCwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlIE5PVCBOVUxMLAorICBuYW1lIHRleHQgTk9UIE5VTEws CisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDIsMjAx OC0wMi0wMyknLCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMykn LCAnb25lJyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCknLCAnb25lJyks CisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSknLCAndHdvJyksCisgICgnWzMs NCknLCAnWzIwMTgtMDEtMDEsKScsICd0aHJlZScpLAorICAoJ1s0LDUpJywgJygsMjAxOC0wNC0w MSknLCAnZm91cicpLAorICAoJ1s1LDYpJywgJygsKScsICdmaXZlJyksCisgICgnWzYsNyknLCAn WzIwMTgtMDEtMDEsKScsICdzaXgnKSwKKyAgKCdbNyw4KScsICcoLDIwMTgtMDQtMDEpJywgJ3Nl dmVuJyksCisgICgnWzgsOSknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMyknLCAnZWlnaHQnKSwK KyAgKCdbOCw5KScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScsICdlaWdodCcpLAorICAoJ1s4 LDkpJywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJywgJ2VpZ2h0JykKKyAgOworXHNldCBRVUlF VCBmYWxzZQorCistLSBEZWxldGluZyB3aXRoIGEgbWlzc2luZyBjb2x1bW4gZmFpbHMKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgaW52YWxpZF9hdCBG Uk9NICcyMDE4LTA2LTAxJyBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworLS0gVGhl IHdyb25nIHR5cGUgZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAxIFRPIDQKKyAgV0hFUkUgaWQgPSAnWzMsNCknOwor CistLSBEZWxldGluZyB3aXRoIHRpbWVzdGFtcHMgcmV2ZXJzZWQgZmFpbHMKK0RFTEVURSBGUk9N IGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wNi0wMScgVE8gJzIwMTgtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gRGVs ZXRpbmcgd2l0aCBhIHN1YnF1ZXJ5IGZhaWxzCitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90 ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gKFNFTEVDVCAnMjAxOC0wMS0wMScp IFRPICcyMDE4LTA2LTAxJworICBXSEVSRSBpZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIHdp dGggYSBjb2x1bW4gZmFpbHMKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSBsb3dlcih2YWxpZF9hdCkgVE8gTlVMTAorICBXSEVS RSBpZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIHdpdGggdGltZXN0YW1wcyBlcXVhbCBkb2Vz IG5vdGhpbmcKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNC0wMScgVE8gJzIwMTgtMDQtMDEnCisgIFdIRVJFIGlk ID0gJ1szLDQpJzsKKworLS0gRGVsZXRpbmcgYSBmaW5pdGUvb3BlbiBwb3J0aW9uIHdpdGggYSBm aW5pdGUvb3BlbiB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNi0wMScgVE8gTlVMTAorICBXSEVSRSBp ZCA9ICdbMyw0KSc7CisKKy0tIERlbGV0aW5nIGEgZmluaXRlL29wZW4gcG9ydGlvbiB3aXRoIGFu IG9wZW4vZmluaXRlIHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDMtMDEnCisgIFdIRVJF IGlkID0gJ1s2LDcpJzsKKworLS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3aXRo IGFuIG9wZW4vZmluaXRlIHRhcmdldAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8gJzIwMTgtMDItMDEnCisgIFdI RVJFIGlkID0gJ1s0LDUpJzsKKworLS0gRGVsZXRpbmcgYW4gb3Blbi9maW5pdGUgcG9ydGlvbiB3 aXRoIGEgZmluaXRlL29wZW4gdGFyZ2V0CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0 CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTctMDEtMDEnIFRPIE5VTEwKKyAg V0hFUkUgaWQgPSAnWzcsOCknOworCistLSBEZWxldGluZyBhIGZpbml0ZS9maW5pdGUgcG9ydGlv biB3aXRoIGFuIGV4YWN0IGZpdAorREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdAorICBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAyLTAxJyBUTyAnMjAxOC0wNC0wMScK KyAgV0hFUkUgaWQgPSAnWzQsNSknOworCistLSBEZWxldGluZyBhbiBlbmNsb3NlZCBzcGFuCitE RUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gTlVMTCBUTyBOVUxMCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKKworLS0gRGVsZXRpbmcg YW4gb3Blbi9vcGVuIHBvcnRpb24gd2l0aCBhIGZpbml0ZS9maW5pdGUgdGFyZ2V0CitERUxFVEUg RlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDEtMDEnIFRPICcyMDE5LTAxLTAxJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKKy0t IERlbGV0aW5nIGFuIGVuY2xvc2VkIHNwYW4gd2l0aCBzZXBhcmF0ZSBwcm90cnVkaW5nIHNwYW5z CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTgtMDItMDMnIFRPICcyMDE4LTAzLTAzJworICBXSEVSRSBpZCA9ICdbMSwy KSc7CisKKy0tIERlbGV0aW5nIG11bHRpcGxlIGVuY2xvc2VkIHNwYW5zCitERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gTlVMTCBU TyBOVUxMCisgIFdIRVJFIGlkID0gJ1s4LDkpJzsKKworLS0gRGVsZXRpbmcgd2l0aCBhIGRpcmVj dCB0YXJnZXQKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGRhdGVyYW5nZSgnMjAxOC0wMy0xMCcsICcyMDE4LTAzLTE3JykpCisgIFdI RVJFIGlkID0gJ1sxLDIpJzsKKworLS0gREVMRVRFIHdpdGggbm8gV0hFUkUgY2xhdXNlCitERUxF VEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMzAtMDEtMDEnIFRPIE5VTEw7CisKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2Zf dGVzdCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Citcc2V0IFFVSUVUIHRydWUKKworLS0gVVBEQVRF IC4uLiBSRVRVUk5JTkcgcmV0dXJucyBvbmx5IHRoZSB1cGRhdGVkIHZhbHVlcyAobm90IHRoZSBp bnNlcnRlZCBzaWRlIHZhbHVlcykKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDItMDEnIFRPICcyMDE4LTAyLTE1JworICBT RVQgbmFtZSA9ICd0aHJlZV4zJworICBXSEVSRSBpZCA9ICdbMyw0KScKKyAgUkVUVVJOSU5HICo7 CisKKy0tIERFTEVURSAuLi4gUkVUVVJOSU5HIHJldHVybnMgdGhlIGRlbGV0ZWQgdmFsdWVzIChy ZWdhcmRsZXNzIG9mIGJvdW5kcykKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMi0wMicgVE8gJzIwMTgtMDItMDMn CisgIFdIRVJFIGlkID0gJ1szLDQpJworICBSRVRVUk5JTkcgKjsKKworLS0gREVMRVRFIEZPUiBQ T1JUSU9OIE9GIGluIGEgUEwvcGdTUUwgZnVuY3Rpb24KK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9u X29mX3Rlc3QgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEwLDExKScsICdbMjAx OC0wMS0wMSwyMDIwLTAxLTAxKScsICd0ZW4nKTsKK0NSRUFURSBGVU5DVElPTiBmcG9fZGVsZXRl KF9pZCBpbnQ0cmFuZ2UsIF90YXJnZXRfZnJvbSBkYXRlLCBfdGFyZ2V0X3RpbCBkYXRlKQorUkVU VVJOUyB2b2lkIExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBERUxFVEUgRlJPTSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgICAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAkMiBU TyAkMworICAgIFdIRVJFIGlkID0gJDE7CitFTkQ7CiskJDsKK1NFTEVDVCBmcG9fZGVsZXRlKCdb MTAsMTEpJywgJzIwMTUtMDEtMDEnLCAnMjAxOS0wMS0wMScpOworU0VMRUNUICogRlJPTSBmb3Jf cG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxMCwxMSknOworREVMRVRFIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdCBXSEVSRSBpZCBJTiAoJ1sxMCwxMSknKTsKKworCistLSB0ZXN0IHRoYXQg d2UgcnVuIHRyaWdnZXJzIG9uIHRoZSBVUERBVEUvREVMRVRFZCByb3cgYW5kIHRoZSBJTlNFUlRl ZCByb3dzCisKK0NSRUFURSBGVU5DVElPTiBkdW1wX3RyaWdnZXIoKQorUkVUVVJOUyBUUklHR0VS IExBTkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBSQUlTRSBOT1RJQ0UgJyU6ICUgJSAl OicsCisgICAgVEdfTkFNRSwgVEdfV0hFTiwgVEdfT1AsIFRHX0xFVkVMOworCisgIElGIFRHX0FS R1ZbMF0gVEhFTgorICAgIFJBSVNFIE5PVElDRSAnICBvbGQ6ICUnLCAoU0VMRUNUIHN0cmluZ19h Z2cob2xkX3RhYmxlOjp0ZXh0LCAnXG4gICAgICAgJykgRlJPTSBvbGRfdGFibGUpOworICBFTFNF CisgICAgUkFJU0UgTk9USUNFICcgIG9sZDogJScsIE9MRC52YWxpZF9hdDsKKyAgRU5EIElGOwor ICBJRiBUR19BUkdWWzFdIFRIRU4KKyAgICBSQUlTRSBOT1RJQ0UgJyAgbmV3OiAlJywgKFNFTEVD VCBzdHJpbmdfYWdnKG5ld190YWJsZTo6dGV4dCwgJ1xuICAgICAgICcpIEZST00gbmV3X3RhYmxl KTsKKyAgRUxTRQorICAgIFJBSVNFIE5PVElDRSAnICBuZXc6ICUnLCBORVcudmFsaWRfYXQ7Cisg IEVORCBJRjsKKworICBJRiBUR19PUCA9ICdJTlNFUlQnIE9SIFRHX09QID0gJ1VQREFURScgVEhF TgorICAgIFJFVFVSTiBORVc7CisgIEVMU0lGIFRHX09QID0gJ0RFTEVURScgVEhFTgorICAgIFJF VFVSTiBPTEQ7CisgIEVORCBJRjsKK0VORDsKKyQkOworCistLSBzdGF0ZW1lbnQgdHJpZ2dlcnM6 CisKK0NSRUFURSBUUklHR0VSIGZwb19iZWZvcmVfc3RtdAorQkVGT1JFIElOU0VSVCBPUiBVUERB VEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBF WEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRS SUdHRVIgZnBvX2FmdGVyX2luc2VydF9zdG10CitBRlRFUiBJTlNFUlQgT04gZm9yX3BvcnRpb25f b2ZfdGVzdAorRk9SIEVBQ0ggU1RBVEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dl cihmYWxzZSwgZmFsc2UpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3N0bXQK K0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBTVEFURU1FTlQg RVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBU UklHR0VSIGZwb19hZnRlcl9kZWxldGVfc3RtdAorQUZURVIgREVMRVRFIE9OIGZvcl9wb3J0aW9u X29mX3Rlc3QKK0ZPUiBFQUNIIFNUQVRFTUVOVCBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdn ZXIoZmFsc2UsIGZhbHNlKTsKKworLS0gcm93IHRyaWdnZXJzOgorCitDUkVBVEUgVFJJR0dFUiBm cG9fYmVmb3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERBVEUgT1IgREVMRVRFIE9OIGZvcl9w b3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdn ZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX2luc2VydF9yb3cK K0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitGT1IgRUFDSCBST1cgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxzZSk7CisKK0NSRUFURSBUUklHR0VS IGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFs c2UpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdworQUZURVIgREVMRVRF IE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBk dW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVz dAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDIxLTAxLTAxJyBUTyAnMjAyMi0w MS0wMScKKyAgU0VUIG5hbWUgPSAnZml2ZV4zJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CisKK0RF TEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAyMy0wMS0wMScgVE8gJzIwMjQtMDEtMDEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJzsK KworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKworLS0gVHJpZ2dlcnMgd2l0aCBhIGN1c3RvbSB0cmFuc2l0aW9uIHRhYmxlIG5hbWU6CisK K0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5h bWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgVkFMVUVTICgnWzEs MiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAnb25lJyk7CisKKy0tIHN0YXRlbWVudCB0 cmlnZ2VyczoKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2JlZm9yZV9zdG10CitCRUZPUkUgSU5TRVJU IE9SIFVQREFURSBPUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggU1RB VEVNRU5UIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxzZSwgZmFsc2UpOworCitD UkVBVEUgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3N0bXQKK0FGVEVSIElOU0VSVCBPTiBmb3Jf cG9ydGlvbl9vZl90ZXN0CitSRUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitGT1Ig RUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0cnVl KTsKKworQ1JFQVRFIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9zdG10CitBRlRFUiBVUERBVEUg T04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgTkVXIFRBQkxFIEFTIG5ld190YWJs ZSBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VURSBQUk9D RURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIHRydWUpOworCitDUkVBVEUgVFJJR0dFUiBmcG9fYWZ0 ZXJfZGVsZXRlX3N0bXQKK0FGVEVSIERFTEVURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitSRUZF UkVOQ0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlCitGT1IgRUFDSCBTVEFURU1FTlQgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKHRydWUsIGZhbHNlKTsKKworLS0gcm93IHRyaWdnZXJz OgorCitDUkVBVEUgVFJJR0dFUiBmcG9fYmVmb3JlX3JvdworQkVGT1JFIElOU0VSVCBPUiBVUERB VEUgT1IgREVMRVRFIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0ZPUiBFQUNIIFJPVyBFWEVDVVRF IFBST0NFRFVSRSBkdW1wX3RyaWdnZXIoZmFsc2UsIGZhbHNlKTsKKworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX2luc2VydF9yb3cKK0FGVEVSIElOU0VSVCBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0 CitSRUZFUkVOQ0lORyBORVcgVEFCTEUgQVMgbmV3X3RhYmxlCitGT1IgRUFDSCBST1cgRVhFQ1VU RSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCB0cnVlKTsKKworQ1JFQVRFIFRSSUdHRVIg ZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FGVEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0 CitSRUZFUkVOQ0lORyBPTEQgVEFCTEUgQVMgb2xkX3RhYmxlIE5FVyBUQUJMRSBBUyBuZXdfdGFi bGUKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdnZXIodHJ1ZSwgdHJ1 ZSk7CisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUg T04gZm9yX3BvcnRpb25fb2ZfdGVzdAorUkVGRVJFTkNJTkcgT0xEIFRBQkxFIEFTIG9sZF90YWJs ZQorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcih0cnVlLCBmYWxz ZSk7CisKK0JFR0lOOworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xNScgVE8gJzIwMTktMDEtMDEnCisgIFNFVCBuYW1l ID0gJzIwMTgtMDEtMTVfdG9fMjAxOS0wMS0wMSc7CitST0xMQkFDSzsKKworQkVHSU47CitERUxF VEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gTlVMTCBUTyAnMjAxOC0wMS0yMSc7CitST0xMQkFDSzsKKworQkVHSU47CitVUERBVEUgZm9y X3BvcnRpb25fb2ZfdGVzdAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NIE5VTEwgVE8g JzIwMTgtMDEtMDInCisgIFNFVCBuYW1lID0gJ05VTExfdG9fMjAxOC0wMS0wMSc7CitST0xMQkFD SzsKKworLS0gRGVmZXJyZWQgdHJpZ2dlcnMKKy0tIChtdXN0IGJlIENPTlNUUkFJTlQgdHJpZ2dl cnMgdGh1cyBBRlRFUiBST1cgd2l0aCBubyB0cmFuc2l0aW9uIHRhYmxlcykKKworRFJPUCBUQUJM RSBmb3JfcG9ydGlvbl9vZl90ZXN0OworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3Qg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgbmFtZSB0ZXh0Cisp OworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2ZfdGVzdCAoaWQsIHZhbGlkX2F0LCBuYW1lKSBW QUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdvbmUnKTsKKwor Q1JFQVRFIENPTlNUUkFJTlQgVFJJR0dFUiBmcG9fYWZ0ZXJfaW5zZXJ0X3JvdworQUZURVIgSU5T RVJUIE9OIGZvcl9wb3J0aW9uX29mX3Rlc3QKK0RFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVE CitGT1IgRUFDSCBST1cgRVhFQ1VURSBQUk9DRURVUkUgZHVtcF90cmlnZ2VyKGZhbHNlLCBmYWxz ZSk7CisKK0NSRUFURSBDT05TVFJBSU5UIFRSSUdHRVIgZnBvX2FmdGVyX3VwZGF0ZV9yb3cKK0FG VEVSIFVQREFURSBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0CitERUZFUlJBQkxFIElOSVRJQUxMWSBE RUZFUlJFRAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIGR1bXBfdHJpZ2dlcihmYWxz ZSwgZmFsc2UpOworCitDUkVBVEUgQ09OU1RSQUlOVCBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVf cm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorREVGRVJSQUJMRSBJTklU SUFMTFkgREVGRVJSRUQKK0ZPUiBFQUNIIFJPVyBFWEVDVVRFIFBST0NFRFVSRSBkdW1wX3RyaWdn ZXIoZmFsc2UsIGZhbHNlKTsKKworQkVHSU47CitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdAor ICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTE1JyBUTyAnMjAxOS0wMS0w MScKKyAgU0VUIG5hbWUgPSAnMjAxOC0wMS0xNV90b18yMDE5LTAxLTAxJzsKK0NPTU1JVDsKKwor QkVHSU47CitERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gTlVMTCBUTyAnMjAxOC0wMS0yMSc7CitDT01NSVQ7CisKK0JFR0lOOwor VVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSBOVUxMIFRPICcyMDE4LTAxLTAyJworICBTRVQgbmFtZSA9ICdOVUxMX3RvXzIwMTgtMDEtMDEn OworQ09NTUlUOworCitTRUxFQ1QgKiBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3Q7CisKKy0tIHRl c3QgRk9SIFBPUlRJT04gT0YgZnJvbSB0cmlnZ2VycyBkdXJpbmcgRk9SIFBPUlRJT04gT0Y6CisK K0RST1AgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDsKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0ICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5h bWUgdGV4dAorKTsKK0lOU0VSVCBJTlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QgKGlkLCB2YWxpZF9h dCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAn b25lJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndHdvJyksCisg ICgnWzMsNCknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknLCAndGhyZWUnKSwKKyAgKCdbNCw1 KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScsICdmb3VyJyk7CisKK0NSRUFURSBGVU5DVElP TiB0cmdfZnBvX3VwZGF0ZSgpCitSRVRVUk5TIFRSSUdHRVIgTEFOR1VBR0UgcGxwZ3NxbCBBUwor JCQKK0JFR0lOCisgIElGIHBnX3RyaWdnZXJfZGVwdGgoKSA9IDEgVEhFTgorICAgIFVQREFURSBm b3JfcG9ydGlvbl9vZl90ZXN0CisgICAgICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAyLTAxJyBUTyAnMjAxOC0wMy0wMScKKyAgICAgIFNFVCBuYW1lID0gQ09OQ0FUKG5hbWUs ICdeJykKKyAgICAgIFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7CisgIFJFVFVSTiBDQVNF IFdIRU4gJ1RHX09QJyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVORDsKK0VORDsKKyQk OworCitDUkVBVEUgRlVOQ1RJT04gdHJnX2Zwb19kZWxldGUoKQorUkVUVVJOUyBUUklHR0VSIExB TkdVQUdFIHBscGdzcWwgQVMKKyQkCitCRUdJTgorICBJRiBwZ190cmlnZ2VyX2RlcHRoKCkgPSAx IFRIRU4KKyAgICBERUxFVEUgRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgICAgICBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAzLTAxJyBUTyAnMjAxOC0wNC0wMScKKyAgICAg IFdIRVJFIGlkID0gT0xELmlkOworICBFTkQgSUY7CisgIFJFVFVSTiBDQVNFIFdIRU4gJ1RHX09Q JyA9ICdERUxFVEUnIFRIRU4gT0xEIEVMU0UgTkVXIEVORDsKK0VORDsKKyQkOworCistLSBVUERB VEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JU SU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERB VEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJF IHRyZ19mcG9fdXBkYXRlKCk7CisKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBT RVQgbmFtZSA9IENPTkNBVChuYW1lLCAnKicpCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworU0VM RUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1sxLDIpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBm b3JfcG9ydGlvbl9vZl90ZXN0OworCistLSBVUERBVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRy aWdnZXIgZmlyZWQgYnkgREVMRVRFIEZPUiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZw b19hZnRlcl9kZWxldGVfcm93CitBRlRFUiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAor Rk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fdXBkYXRlKCk7CisKK0RFTEVU RSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rlc3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wNS0wMScgVE8gJzIwMTgtMDYtMDEnCisgIFdIRVJFIGlkID0gJ1syLDMpJzsKKwor U0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0IFdIRVJFIGlkID0gJ1syLDMpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1AgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdyBP TiBmb3JfcG9ydGlvbl9vZl90ZXN0OworCistLSBERUxFVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBh IHRyaWdnZXIgZmlyZWQgYnkgVVBEQVRFIEZPUiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VS IGZwb19hZnRlcl91cGRhdGVfcm93CitBRlRFUiBVUERBVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVz dAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJPQ0VEVVJFIHRyZ19mcG9fZGVsZXRlKCk7CisKK1VQ REFURSBmb3JfcG9ydGlvbl9vZl90ZXN0CisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTgtMDUtMDEnIFRPICcyMDE4LTA2LTAxJworICBTRVQgbmFtZSA9IENPTkNBVChuYW1lLCAn KicpCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9v Zl90ZXN0IFdIRVJFIGlkID0gJ1szLDQpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RST1Ag VFJJR0dFUiBmcG9fYWZ0ZXJfdXBkYXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0OworCist LSBERUxFVEUgRk9SIFBPUlRJT04gT0YgZnJvbSBhIHRyaWdnZXIgZmlyZWQgYnkgREVMRVRFIEZP UiBQT1JUSU9OIE9GCisKK0NSRUFURSBUUklHR0VSIGZwb19hZnRlcl9kZWxldGVfcm93CitBRlRF UiBERUxFVEUgT04gZm9yX3BvcnRpb25fb2ZfdGVzdAorRk9SIEVBQ0ggUk9XIEVYRUNVVEUgUFJP Q0VEVVJFIHRyZ19mcG9fZGVsZXRlKCk7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29mX3Rl c3QKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wNS0wMScgVE8gJzIwMTgt MDYtMDEnCisgIFdIRVJFIGlkID0gJ1s0LDUpJzsKKworU0VMRUNUICogRlJPTSBmb3JfcG9ydGlv bl9vZl90ZXN0IFdIRVJFIGlkID0gJ1s0LDUpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKK0RS T1AgVFJJR0dFUiBmcG9fYWZ0ZXJfZGVsZXRlX3JvdyBPTiBmb3JfcG9ydGlvbl9vZl90ZXN0Owor CistLSBUZXN0IHdpdGggbXVsdGlyYW5nZXMKKworQ1JFQVRFIFRBQkxFIGZvcl9wb3J0aW9uX29m X3Rlc3QyICgKKyAgaWQgaW50NHJhbmdlIE5PVCBOVUxMLAorICB2YWxpZF9hdCBkYXRlbXVsdGly YW5nZSBOT1QgTlVMTCwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBDT05TVFJBSU5UIGZvcl9w b3J0aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MiAoaWQsIHZhbGlkX2F0 LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMicsICcyMDE4LTAyLTAzKScpLCBkYXRlcmFuZ2UoJzIwMTgtMDItMDQnLCAnMjAxOC0w My0wMycpKSwgJ29uZScpLAorICAoJ1sxLDIpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAzLTAzJywgJzIwMTgtMDQtMDQpJykpLCAnb25lJyksCisgICgnWzIsMyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wNS0wMSknKSksICd0d28nKSwK KyAgKCdbMyw0KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsIG51bGwp KSwgJ3RocmVlJyk7CisgIDsKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCisgIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMTAn LCAnMjAxOC0wMi0xMCcpLCBkYXRlcmFuZ2UoJzIwMTgtMDMtMDUnLCAnMjAxOC0wNS0wMScpKSkK KyAgU0VUIG5hbWUgPSAnb25lXjEnCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworREVMRVRFIEZS T00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0xNScsICcyMDE4LTAyLTE1JyksIGRhdGVyYW5n ZSgnMjAxOC0wMy0wMScsICcyMDE4LTAzLTE1JykpKQorICBXSEVSRSBpZCA9ICdbMiwzKSc7CisK K1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOworCistLSBUZXN0IHdpdGggYSBj dXN0b20gcmFuZ2UgdHlwZQorCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0 eXBlPWRhdGUpOworCitDUkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgKAorICBpZCBp bnQ0cmFuZ2UgTk9UIE5VTEwsCisgIHZhbGlkX2F0IG15ZGF0ZXJhbmdlIE5PVCBOVUxMLAorICBu YW1lIHRleHQgTk9UIE5VTEwsCisgIENPTlNUUkFJTlQgZm9yX3BvcnRpb25fb2ZfdGVzdDJfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0lOU0VSVCBJ TlRPIGZvcl9wb3J0aW9uX29mX3Rlc3QyIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUworICAo J1sxLDIpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDItMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywg J1syMDE4LTAyLTAzLDIwMTgtMDMtMDMpJywgJ29uZScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAz LTAzLDIwMTgtMDQtMDQpJywgJ29uZScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAxLTAxLDIwMTgt MDUtMDEpJywgJ3R3bycpLAorICAoJ1szLDQpJywgJ1syMDE4LTAxLTAxLCknLCAndGhyZWUnKTsK KyAgOworCitVUERBVEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIKKyAgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgtMDItMTAnCisgIFNFVCBuYW1lID0gJ29u ZV4xJworICBXSEVSRSBpZCA9ICdbMSwyKSc7CisKK0RFTEVURSBGUk9NIGZvcl9wb3J0aW9uX29m X3Rlc3QyCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcy MDE4LTAyLTE1JworICBXSEVSRSBpZCA9ICdbMiwzKSc7CisKK1NFTEVDVCAqIEZST00gZm9yX3Bv cnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCitEUk9QIFRBQkxFIGZvcl9w b3J0aW9uX29mX3Rlc3QyOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOworCistLSBUZXN0IEZPUiBQ T1JUSU9OIE9GIGFnYWluc3QgYSBwYXJ0aXRpb25lZCB0YWJsZS4KKy0tIHRlbXBvcmFsX3BhcnRp dGlvbmVkXzEgaGFzIHRoZSBzYW1lIGF0dG51bXMgYXMgdGhlIHJvb3QKKy0tIHRlbXBvcmFsX3Bh cnRpdGlvbmVkXzMgaGFzIHRoZSBkaWZmZXJlbnQgYXR0bnVtcyBmcm9tIHRoZSByb290CistLSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF81IGhhcyB0aGUgZGlmZmVyZW50IGF0dG51bXMgdG9vLCBidXQg cmV2ZXJzZWQKKworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkICgKKyAgaWQgaW50 NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIG5hbWUgdGV4dCwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCispIFBBUlRJVElPTiBCWSBMSVNUIChpZCk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFZBTFVF UyBJTiAoJ1sxLDIpJywgJ1syLDMpJyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9u ZWRfMyBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFZBTFVFUyBJTiAoJ1sz LDQpJywgJ1s0LDUpJyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfNSBQQVJU SVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFZBTFVFUyBJTiAoJ1s1LDYpJywgJ1s2 LDcpJyk7CisKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJ T04gdGVtcG9yYWxfcGFydGl0aW9uZWRfMzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlv bmVkXzMgRFJPUCBDT0xVTU4gaWQsIERST1AgQ09MVU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfMyBBREQgQ09MVU1OIGlkIGludDRyYW5nZSBOT1QgTlVMTCwg QUREIENPTFVNTiB2YWxpZF9hdCBkYXRlcmFuZ2UgTk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZCBBVFRBQ0ggUEFSVElUSU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzMg Rk9SIFZBTFVFUyBJTiAoJ1szLDQpJywgJ1s0LDUpJyk7CisKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X3BhcnRpdGlvbmVkIERFVEFDSCBQQVJUSVRJT04gdGVtcG9yYWxfcGFydGl0aW9uZWRfNTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgRFJPUCBDT0xVTU4gaWQsIERST1AgQ09M VU1OIHZhbGlkX2F0OworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfNSBBREQgQ09M VU1OIHZhbGlkX2F0IGRhdGVyYW5nZSBOT1QgTlVMTCwgQUREIENPTFVNTiBpZCBpbnQ0cmFuZ2Ug Tk9UIE5VTEw7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBBVFRBQ0ggUEFSVElU SU9OIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzUgRk9SIFZBTFVFUyBJTiAoJ1s1LDYpJywgJ1s2LDcp Jyk7CisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkIChpZCwgdmFsaWRfYXQsIG5h bWUpIFZBTFVFUworICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEt MDEnKSwgJ29uZScpLAorICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAt MDEtMDEnKSwgJ3RocmVlJyksCisgICgnWzUsNiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAn MjAxMC0wMS0wMScpLCAnZml2ZScpOworCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkOworCistLSBVcGRhdGUgd2l0aG91dCBtb3Zpbmcgd2l0aGluIHBhcnRpdGlvbiAxCitVUERB VEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAw MC0wMy0wMScgVE8gJzIwMDAtMDQtMDEnCisgIFNFVCBuYW1lID0gJ29uZV4xJworICBXSEVSRSBp ZCA9ICdbMSwyKSc7CisKKy0tIFVwZGF0ZSB3aXRob3V0IG1vdmluZyB3aXRoaW4gcGFydGl0aW9u IDMKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDAwLTAzLTAxJyBUTyAnMjAwMC0wNC0wMScKKyAgU0VUIG5hbWUgPSAndGhyZWVeMScK KyAgV0hFUkUgaWQgPSAnWzMsNCknOworCistLSBVcGRhdGUgd2l0aG91dCBtb3Zpbmcgd2l0aGlu IHBhcnRpdGlvbiA1CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAwMC0wMy0wMScgVE8gJzIwMDAtMDQtMDEnCisgIFNFVCBuYW1lID0g J2ZpdmVeMScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCistLSBNb3ZlIGZyb20gcGFydGl0aW9u IDEgdG8gcGFydGl0aW9uIDMKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTA2LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5h bWUgPSAnb25lXjInLAorICAgICAgaWQgPSAnWzQsNSknCisgIFdIRVJFIGlkID0gJ1sxLDIpJzsK KworLS0gTW92ZSBmcm9tIHBhcnRpdGlvbiAzIHRvIHBhcnRpdGlvbiAxCitVUERBVEUgdGVtcG9y YWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wNi0wMScg VE8gJzIwMDAtMDctMDEnCisgIFNFVCBuYW1lID0gJ3RocmVlXjInLAorICAgICAgaWQgPSAnWzIs MyknCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKKworLS0gTW92ZSBmcm9tIHBhcnRpdGlvbiA1IHRv IHBhcnRpdGlvbiAzCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWQgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAwMC0wNi0wMScgVE8gJzIwMDAtMDctMDEnCisgIFNFVCBuYW1lID0g J2ZpdmVeMicsCisgICAgICBpZCA9ICdbMyw0KScKKyAgV0hFUkUgaWQgPSAnWzUsNiknOworCist LSBVcGRhdGUgYWxsIHBhcnRpdGlvbnMgYXQgb25jZSAoZWFjaCB3aXRoIGxlZnRvdmVycykKKwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkXzEgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF8zIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfNSBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQ7CisKK1JFU0VU IGRhdGVzdHlsZTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMu c3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwKaW5kZXggOTZlZmYxMTA0 ZDIuLmFlNTdmMjMzMzE0IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxl Z2VzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxlZ2VzLnNxbApAQCAtNzY1 LDYgKzc2NSwyNCBAQCBVUERBVEUgZXJydHN0IFNFVCBhID0gJ2FhYWEnLCBiID0gTlVMTCBXSEVS RSBhID0gJ2FhYSc7CiBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2Vy MTsKIERST1AgVEFCTEUgZXJydHN0OwogCistLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2aWxlZ2Vz IG9uIHRoZSByYW5nZSB1c2VkIGluIEZPUiBQT1JUSU9OIE9GCitTRVQgU0VTU0lPTiBBVVRIT1JJ WkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0NSRUFURSBUQUJMRSB0MSAoCisgIGMxIGludDRy YW5nZSwKKyAgdmFsaWRfYXQgdHNyYW5nZSwKKwlDT05TVFJBSU5UIHQxcGsgUFJJTUFSWSBLRVkg KGMxLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0dSQU5UIFNFTEVDVCBPTiB0MSBU TyByZWdyZXNzX3ByaXZfdXNlcjI7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2 X3VzZXIzOworR1JBTlQgVVBEQVRFIChjMSkgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIyOwor R1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMzsK K1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIyOworVVBEQVRFIHQx IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcyMDAxLTAxLTAx JyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3By aXZfdXNlcjM7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0w MS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQgU0VTU0lPTiBBVVRI T1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0RST1AgVEFCTEUgdDE7CisKIC0tIHRlc3Qg Y29sdW1uLWxldmVsIHByaXZpbGVnZXMgd2hlbiBpbnZvbHZlZCB3aXRoIERFTEVURQogU0VUIFNF U1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBBTFRFUiBUQUJMRSBhdGVz dDYgQUREIENPTFVNTiB0aHJlZSBpbnRlZ2VyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9zcWwvdXBkYXRhYmxlX3ZpZXdzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3VwZGF0YWJs ZV92aWV3cy5zcWwKaW5kZXggYzA3MWZmZmMxMTYuLmU4YzA0ZTNhZDkxIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC91cGRhdGFibGVfdmlld3Muc3FsCisrKyBiL3NyYy90ZXN0L3Jl Z3Jlc3Mvc3FsL3VwZGF0YWJsZV92aWV3cy5zcWwKQEAgLTE4ODEsNiArMTg4MSwyMCBAQCBzZWxl Y3QgKiBmcm9tIHV2X2lvY3VfdGFiOwogZHJvcCB2aWV3IHV2X2lvY3VfdmlldzsKIGRyb3AgdGFi bGUgdXZfaW9jdV90YWI7CiAKKy0tIENoZWNrIFVQREFURSBGT1IgUE9SVElPTiBPRiB3b3JrcyBj b3JyZWN0bHkKK2NyZWF0ZSB0YWJsZSB1dl9mcG9fdGFiIChpZCBpbnQ0cmFuZ2UsIHZhbGlkX2F0 IHRzcmFuZ2UsIGIgZmxvYXQsCisgICAgY29uc3RyYWludCBwa191dl9mcG9fdGFiIHByaW1hcnkg a2V5IChpZCwgdmFsaWRfYXQgd2l0aG91dCBvdmVybGFwcykpOworaW5zZXJ0IGludG8gdXZfZnBv X3RhYiB2YWx1ZXMgKCdbMSwxXScsICdbMjAyMC0wMS0wMSwgMjAzMC0wMS0wMSknLCAwKTsKK2Ny ZWF0ZSB2aWV3IHV2X2Zwb192aWV3IGFzCisgICAgc2VsZWN0IGIsIGIrMSBhcyBjLCB2YWxpZF9h dCwgaWQsICcyLjAnOjp0ZXh0IGFzIHR3byBmcm9tIHV2X2Zwb190YWI7CisKK2luc2VydCBpbnRv IHV2X2Zwb192aWV3IChpZCwgdmFsaWRfYXQsIGIpIHZhbHVlcyAoJ1sxLDFdJywgJ1syMDEwLTAx LTAxLCAyMDIwLTAxLTAxKScsIDEpOworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKK3VwZGF0 ZSB1dl9mcG9fdmlldyBmb3IgcG9ydGlvbiBvZiB2YWxpZF9hdCBmcm9tICcyMDE1LTAxLTAxJyB0 byAnMjAyMC0wMS0wMScgc2V0IGIgPSAyIHdoZXJlIGlkID0gJ1sxLDFdJzsKK3NlbGVjdCAqIGZy b20gdXZfZnBvX3ZpZXc7CitkZWxldGUgZnJvbSB1dl9mcG9fdmlldyBmb3IgcG9ydGlvbiBvZiB2 YWxpZF9hdCBmcm9tICcyMDE3LTAxLTAxJyB0byAnMjAyMi0wMS0wMScgd2hlcmUgaWQgPSAnWzEs MV0nOworc2VsZWN0ICogZnJvbSB1dl9mcG9fdmlldzsKKwogLS0gVGVzdCB3aG9sZS1yb3cgcmVm ZXJlbmNlcyB0byB0aGUgdmlldwogY3JlYXRlIHRhYmxlIHV2X2lvY3VfdGFiIChhIGludCB1bmlx dWUsIGIgdGV4dCk7CiBjcmVhdGUgdmlldyB1dl9pb2N1X3ZpZXcgYXMKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwKaW5kZXggNGFhY2EyNDJiYmUuLmM1Yzg5ZmU0MGFi IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbApAQCAtMiw3ICsy LDcgQEAKIC0tCiAtLSBXZSBsZWF2ZSBiZWhpbmQgc2V2ZXJhbCB0YWJsZXMgdG8gdGVzdCBwZ19k dW1wIGV0YzoKIC0tIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfcm5nMiwKLS0tIHRlbXBvcmFsX2Zr X3JuZzJybmcuCistLSB0ZW1wb3JhbF9ma19ybmcycm5nLCB0ZW1wb3JhbF9mazJfcm5nMnJuZy4K IAogU0VUIGRhdGVzdHlsZSBUTyBJU08sIFlNRDsKIApAQCAtNjMyLDYgKzYzMiwyMCBAQCBJTlNF UlQgSU5UTyB0ZW1wb3JhbDMgKGlkLCB2YWxpZF9hdCwgaWQyLCBuYW1lKQogICAoJ1sxLDIpJywg ZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s3LDgpJywgJ2ZvbycpLAog ICAoJ1syLDMpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ1s5LDEw KScsICdiYXInKQogOworVVBEQVRFIHRlbXBvcmFsMyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDAwLTA1LTAxJyBUTyAnMjAwMC0wNy0wMScKKyAgU0VUIG5hbWUgPSBuYW1lIHx8ICcx JzsKK1VQREFURSB0ZW1wb3JhbDMgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0w NC0wMScgVE8gJzIwMDAtMDYtMDEnCisgIFNFVCBuYW1lID0gbmFtZSB8fCAnMicKKyAgV0hFUkUg aWQgPSAnWzIsMyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbDMgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gY29uZmxpY3RpbmcgaWQgb25seToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsMyAoaWQs IHZhbGlkX2F0LCBpZDIsIG5hbWUpCisgIFZBTFVFUworICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcy MDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSwgJ1s4LDkpJywgJ2ZvbzMnKTsKKy0tIGNvbmZsaWN0 aW5nIGlkMiBvbmx5OgorSU5TRVJUIElOVE8gdGVtcG9yYWwzIChpZCwgdmFsaWRfYXQsIGlkMiwg bmFtZSkKKyAgVkFMVUVTCisgICgnWzMsNCknLCBkYXRlcmFuZ2UoJzIwMDUtMDEtMDEnLCAnMjAx MC0wMS0wMScpLCAnWzksMTApJywgJ2JhcjMnKTsKIERST1AgVEFCTEUgdGVtcG9yYWwzOwogCiAt LQpAQCAtNjY3LDkgKzY4MSwyMyBAQCBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZCAo aWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0w MS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKICAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAw MC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKICAgKCdbMyw0KScsIGRhdGVyYW5nZSgn MjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0aHJlZScpOwotU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci1TRUxFQ1QgKiBGUk9NIHRw MSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Ci1TRUxFQ1QgKiBGUk9NIHRwMiBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitTRUxFQ1QgdGFibGVvaWQ6OnJlZ2NsYXNzLCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWQgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworVVBEQVRFICB0ZW1wb3JhbF9wYXJ0aXRp b25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTE1JyBUTyAnMjAw MC0wMi0xNScKKyAgU0VUIG5hbWUgPSAnb25lMicKKyAgV0hFUkUgaWQgPSAnWzEsMiknOworVVBE QVRFICB0ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAwLTAyLTIwJyBUTyAnMjAwMC0wMi0yNScKKyAgU0VUIGlkID0gJ1s0LDUpJworICBXSEVS RSBuYW1lID0gJ29uZSc7CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJworICBTRVQg aWQgPSAnWzIsMyknCisgIFdIRVJFIG5hbWUgPSAndGhyZWUnOworREVMRVRFIEZST00gdGVtcG9y YWxfcGFydGl0aW9uZWQKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0x NScgVE8gJzIwMDAtMDItMTUnCisgIFdIRVJFIGlkID0gJ1szLDQpJzsKK1NFTEVDVCB0YWJsZW9p ZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkOwogCiAtLSB0ZW1wb3JhbCBV TklRVUU6CkBAIC02ODUsOSArNzEzLDIzIEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcy MDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAogICAoJ1sxLDIpJywgZGF0ZXJhbmdl KCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAogICAoJ1szLDQpJywgZGF0ZXJh bmdlKCcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKSwgJ3RocmVlJyk7Ci1TRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLVNFTEVDVCAqIEZS T00gdHAxIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKLVNFTEVDVCAqIEZST00gdHAyIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKK1NFTEVDVCB0YWJsZW9pZDo6cmVnY2xhc3MsICogRlJPTSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZCBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CitVUERBVEUgIHRlbXBvcmFsX3Bh cnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMTUnIFRP ICcyMDAwLTAyLTE1JworICBTRVQgbmFtZSA9ICdvbmUyJworICBXSEVSRSBpZCA9ICdbMSwyKSc7 CitVUERBVEUgIHRlbXBvcmFsX3BhcnRpdGlvbmVkCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMDAtMDItMjAnIFRPICcyMDAwLTAyLTI1JworICBTRVQgaWQgPSAnWzQsNSknCisg IFdIRVJFIG5hbWUgPSAnb25lJzsKK1VQREFURSAgdGVtcG9yYWxfcGFydGl0aW9uZWQKKyAgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnCisg IFNFVCBpZCA9ICdbMiwzKScKKyAgV0hFUkUgbmFtZSA9ICd0aHJlZSc7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZAorICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAw LTAxLTE1JyBUTyAnMjAwMC0wMi0xNScKKyAgV0hFUkUgaWQgPSAnWzMsNCknOworU0VMRUNUIHRh Ymxlb2lkOjpyZWdjbGFzcywgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWQ7CiAKIC0tIEFMVEVS IFRBQkxFIFJFUExJQ0EgSURFTlRJVFkKQEAgLTEyOTEsNiArMTMzMywxOCBAQCBDT01NSVQ7CiAt LSBjaGFuZ2luZyB0aGUgc2NhbGFyIHBhcnQgZmFpbHM6CiBVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCBpZCA9ICdbNyw4KScKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CistLSBjaGFuZ2luZyBhbiB1bnJlZmVy ZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX3JuZworICBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKKyAgU0VUIGlkID0g J1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFuZ2luZyBqdXN0IGEgcGFydCBm YWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcKKyAgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCisgIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hF UkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgaW4g KCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZh bGlkX2F0OwogLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBz YW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKIERFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzMsNCknOwogVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSBk YXRlcmFuZ2UoJzIwMTYtMDEtMDEnLCAnMjAxNi0wMi0wMScpCkBAIC0xMzM4LDYgKzEzOTIsMTgg QEAgQkVHSU47CiAKICAgREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYp JyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOwog Q09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0w MS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkIGlu ICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBkZWxldGluZyBqdXN0IGEgcGFy dCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgp JykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcy cm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CiAtLSB0aGVu IGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1 Y2NlZWRzOgogREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMyw0 KSc7CiBERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CkBAIC0xMzU2LDEy ICsxNDIyLDEzIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgT04gREVMRVRF IFJFU1RSSUNUOwogCiAtLQotLS0gdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tIHJu ZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCiAKIC0tIHRlc3QgRksgcmVm ZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxf Zmtfcm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwotSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1s0LDUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2 LDcpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCkBAIC0xMzY5LDggKzE0MzYsOSBAQCBBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRF IENBU0NBREU7CiAKIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMCi1JTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzksMTApJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzksMTApJyk7CitUUlVOQ0FU RSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJybmcKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mawogICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKQEAgLTEzNzgsOSArMTQ0 NiwxMCBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAgT04gREVMRVRFIFNF VCBOVUxMIE9OIFVQREFURSBTRVQgTlVMTDsKIAogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIERFRkFVTFQKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJu ZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEs LTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7Ci1JTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpLCAnWzEyLDEzKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcy cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAogICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrCkBAIC0xNzE2LDYgKzE3ODUsMjAg QEAgQkVHSU47CiAgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIENPTU1JVDsKIC0t IGNoYW5naW5nIHRoZSBzY2FsYXIgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcg U0VUIGlkID0gJ1s3LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSk7CistLSBj aGFuZ2luZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZworICBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAyJywgJzIwMTgtMDEtMDMnKSkpCisgIFNFVCBpZCA9ICdbNyw4KScKKyAgV0hF UkUgaWQgPSAnWzUsNiknOworLS0gY2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUg dGVtcG9yYWxfbWx0cm5nCisgIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcpKSkKKyAgU0VUIGlkID0gJ1s3 LDgpJworICBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5n IEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CiBVUERBVEUgdGVt cG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScKICAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2 YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAy LTAxJykpOwogCkBAIC0xNzYwLDYgKzE4NDMsMTcgQEAgQkVHSU47CiAKICAgREVMRVRFIEZST00g dGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIENPTU1JVDsK Ky0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9tbHRybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDInLCAnMjAxOC0wMS0wMycpKSkKK1dIRVJFIGlkID0gJ1s1LDYp JzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnKSkpCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSB0 aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRl IHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBp ZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzUs NiknIEFORCB2YWxpZF9hdCA9IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDE4LTAyLTAxJykpOwogCiAtLQogLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6 IHJhbmdlcwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFs LnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM0X3RlbXBvcmFsLnBsCmluZGV4IDZiYmY2 NTY3Mjc5Li5iNzQ2OTNjYjg5YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3Qv MDM0X3RlbXBvcmFsLnBsCisrKyBiL3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzNF90ZW1wb3Jh bC5wbApAQCAtMTM3LDYgKzEzNywxMiBAQCBpcyggJHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46 MTogRVJST1I6ICBjYW5ub3QgdXBkYXRlIHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2Ug aXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVz CiBISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5nIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJ VFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAkiY2FuJ3QgVVBEQVRFIHRlbXBvcmFsX25vX2tleSBE RUZBVUxUIik7CisoJHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXIt PnBzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX25vX2tleSBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycg V0hFUkUgaWQgPSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTog RVJST1I6ICBjYW5ub3QgdXBkYXRlIHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQg ZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVzCitI SU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5nIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkg dXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2FuJ3QgVVBEQVRFIEZPUiBQT1JUSU9OIE9GIHRlbXBv cmFsX25vX2tleSBERUZBVUxUIik7CiAKICgkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRu b2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAogCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9u b19rZXkgV0hFUkUgaWQgPSAnWzMsNCknIik7CkBAIC0xNDQsNiArMTUwLDEyIEBAIGlzKCAkc3Rk ZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCBkZWxldGUgZnJvbSB0YWJs ZSAidGVtcG9yYWxfbm9fa2V5IiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlk ZW50aXR5IGFuZCBwdWJsaXNoZXMgZGVsZXRlcwogSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBm cm9tIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwK IAkiY2FuJ3QgREVMRVRFIHRlbXBvcmFsX25vX2tleSBERUZBVUxUIik7CisoJHJlc3VsdCwgJHN0 ZG91dCwgJHN0ZGVycikgPSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKKwkiREVM RVRFIEZST00gdGVtcG9yYWxfbm9fa2V5IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MDItMDEtMDEnIFRPICcyMDAzLTAxLTAxJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3Rk ZXJyLAorCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCBkZWxldGUgZnJvbSB0YWJs ZSAidGVtcG9yYWxfbm9fa2V5IiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlk ZW50aXR5IGFuZCBwdWJsaXNoZXMgZGVsZXRlcworSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBm cm9tIHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwK KwkiY2FuJ3QgREVMRVRFIEZPUiBQT1JUSU9OIE9GIHRlbXBvcmFsX25vX2tleSBERUZBVUxUIik7 CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCkBAIC0xNjUs MTYgKzE3NywyMiBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlz aGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiVVBEQVRFIHRlbXBvcmFsX3BrIFNFVCBhID0g J2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX3BrIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdb MiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVM RVRFIEZST00gdGVtcG9yYWxfcGsgV0hFUkUgaWQgPSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNo ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9wayBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hF UkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgn c3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGsgT1JERVIgQlkgaWQsIHZhbGlkX2F0Iik7 CiBpcyggJHJlc3VsdCwgcXF7WzEsMil8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YQotWzIsMyl8 WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YgorWzIsMyl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8 YgorWzIsMyl8WzIwMDEtMDEtMDEsMjAwMi0wMS0wMSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAx MC0wMS0wMSl8YgogWzQsNSl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVk IHRlbXBvcmFsX3BrIERFRkFVTFQnKTsKIAogIyByZXBsaWNhdGUgd2l0aCBhIHVuaXF1ZSBrZXk6 CkBAIC0xOTIsNiArMjEwLDEyIEBAIGlzKCAkc3RkZXJyLAogCXFxKHBzcWw6PHN0ZGluPjoxOiBF UlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBk b2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKIEhJ TlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1 c2luZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4ndCBVUERBVEUgdGVtcG9yYWxfdW5pcXVlIERFRkFV TFQiKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNx bCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVtcG9yYWxfdW5pcXVlIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVS RSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3RkZXJyLAorCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJP UjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2Vz IG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIHVwZGF0ZXMKK0hJTlQ6 ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2lu ZyBBTFRFUiBUQUJMRS4pLAorCSJjYW4ndCBVUERBVEUgRk9SIFBPUlRJT04gT0YgdGVtcG9yYWxf dW5pcXVlIERFRkFVTFQiKTsKIAogKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVf cHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1 ZSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKQEAgLTE5OSw2ICsyMjMsMTIgQEAgaXMoICRzdGRlcnIs CiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRhYmxlICJ0 ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRp dHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCiBISU5UOiAgVG8gZW5hYmxlIGRlbGV0aW5nIGZyb20g dGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAogCSJj YW4ndCBERUxFVEUgdGVtcG9yYWxfdW5pcXVlIERFRkFVTFQiKTsKKygkcmVzdWx0LCAkc3Rkb3V0 LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUg RlJPTSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0w MS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIs CisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9tIHRhYmxlICJ0 ZW1wb3JhbF91bmlxdWUiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRp dHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCitISU5UOiAgVG8gZW5hYmxlIGRlbGV0aW5nIGZyb20g dGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAorCSJj YW4ndCBERUxFVEUgRk9SIFBPUlRJT04gT0YgdGVtcG9yYWxfdW5pcXVlIERFRkFVTFQiKTsKIAog JG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7CiAKQEAgLTI4NywxNiAr MzE3LDIyIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKAogCiAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJVUERBVEUgdGVtcG9yYWxfbm9fa2V5IFNFVCBhID0g J2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bv c3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX25vX2tleSBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQg PSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX25vX2tleSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKKyRub2Rl X3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIkRFTEVURSBGUk9NIHRlbXBvcmFs X25vX2tleSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAw My0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2FpdF9m b3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxfbm9fa2V5IE9SREVSIEJZ IGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFxe1sxLDIpfFsyMDAwLTAxLTAxLDIwMTAt MDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGIKK1syLDMpfFsyMDAwLTAx LTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1syLDMp fFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEp fGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF9ub19rZXkgRlVMTCcpOwogCiAjIHJlcGxpY2F0ZSB3 aXRoIGEgcHJpbWFyeSBrZXk6CkBAIC0zMTAsMTYgKzM0NiwyMiBAQCAkbm9kZV9wdWJsaXNoZXIt PnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKIAki VVBEQVRFIHRlbXBvcmFsX3BrIFNFVCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5v ZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX3Br IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAyLTAxLTAx JyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKIAogJG5vZGVfcHVibGlzaGVyLT5z YWZlX3BzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9yYWxfcGsgV0hFUkUgaWQg PSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAy LTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1 Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVtcG9yYWxf cGsgT1JERVIgQlkgaWQsIHZhbGlkX2F0Iik7CiBpcyggJHJlc3VsdCwgcXF7WzEsMil8WzIwMDAt MDEtMDEsMjAxMC0wMS0wMSl8YQotWzIsMyl8WzIwMDAtMDEtMDEsMjAxMC0wMS0wMSl8YgorWzIs Myl8WzIwMDAtMDEtMDEsMjAwMS0wMS0wMSl8YgorWzIsMyl8WzIwMDEtMDEtMDEsMjAwMi0wMS0w MSl8YworWzIsMyl8WzIwMDMtMDEtMDEsMjAxMC0wMS0wMSl8YgogWzQsNSl8WzIwMDAtMDEtMDEs MjAxMC0wMS0wMSl8YX0sICdyZXBsaWNhdGVkIHRlbXBvcmFsX3BrIEZVTEwnKTsKIAogIyByZXBs aWNhdGUgd2l0aCBhIHVuaXF1ZSBrZXk6CkBAIC0zMzMsMTcgKzM3NSwyMyBAQCAkbm9kZV9wdWJs aXNoZXItPnNhZmVfcHNxbCgKIAogJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVz JywKIAkiVVBEQVRFIHRlbXBvcmFsX3VuaXF1ZSBTRVQgYSA9ICdiJyBXSEVSRSBpZCA9ICdbMiwz KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlVQREFURSB0 ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScg VE8gJzIwMDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOwogCiAkbm9k ZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJERUxFVEUgRlJPTSB0ZW1wb3Jh bF91bmlxdWUgV0hFUkUgaWQgPSAnWzMsNCknIik7Ciskbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNx bCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0g J1syLDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsK IAogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQiKTsKIGlz KCAkcmVzdWx0LCBxcXtbMSwyKXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxhCi1bMiwzKXxbMjAw MC0wMS0wMSwyMDEwLTAxLTAxKXxiCi1bNCw1KXxbMjAwMC0wMS0wMSwyMDEwLTAxLTAxKXxhfSwg J3JlcGxpY2F0ZWQgdGVtcG9yYWxfdW5pcXVlIEZVTEwnKTsKK1syLDMpfFsyMDAwLTAxLTAxLDIw MDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAz LTAxLTAxLDIwMTAtMDEtMDEpfGIKK1s0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAn cmVwbGljYXRlZCB0ZW1wb3JhbF91bmlxdWUgREVGQVVMVCcpOwogCiAjIGNsZWFudXAKIApAQCAt NDI1LDE2ICs0NzMsMjIgQEAgJG5vZGVfcHVibGlzaGVyLT5zYWZlX3BzcWwoCiAKICRub2RlX3B1 Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlVQREFURSB0ZW1wb3JhbF9wayBTRVQg YSA9ICdiJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KCdwb3N0Z3JlcycsCisJIlVQREFURSB0ZW1wb3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScgU0VUIGEgPSAnYycgV0hFUkUgaWQg PSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX3BrIFdIRVJFIGlkID0gJ1szLDQpJyIpOworJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiREVMRVRFIEZST00gdGVtcG9yYWxfcGsg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEn IFdIRVJFIGlkID0gJ1syLDMpJyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNo dXAoJ3N1YjEnKTsKIAogJHJlc3VsdCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9z dGdyZXMnLAogCSJTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BrIE9SREVSIEJZIGlkLCB2YWxpZF9h dCIpOwogaXMoICRyZXN1bHQsIHFxe1sxLDIpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGEKLVsy LDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGIKK1syLDMpfFsyMDAwLTAxLTAxLDIwMDEtMDEt MDEpfGIKK1syLDMpfFsyMDAxLTAxLTAxLDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAzLTAxLTAx LDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGlj YXRlZCB0ZW1wb3JhbF9wayBVU0lORyBJTkRFWCcpOwogCiAjIHJlcGxpY2F0ZSB3aXRoIGEgdW5p cXVlIGtleToKQEAgLTQ0OCwxNiArNTAyLDIyIEBAICRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3Fs KAogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJVUERBVEUgdGVt cG9yYWxfdW5pcXVlIFNFVCBhID0gJ2InIFdIRVJFIGlkID0gJ1syLDMpJyIpOworJG5vZGVfcHVi bGlzaGVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiVVBEQVRFIHRlbXBvcmFsX3VuaXF1ZSBG T1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAxLTAxLTAxJyBUTyAnMjAwMi0wMS0wMScg U0VUIGEgPSAnYycgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRub2RlX3B1Ymxpc2hlci0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBXSEVSRSBp ZCA9ICdbMyw0KSciKTsKKyRub2RlX3B1Ymxpc2hlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CiAKICRu b2RlX3B1Ymxpc2hlci0+d2FpdF9mb3JfY2F0Y2h1cCgnc3ViMScpOwogCiAkcmVzdWx0ID0gJG5v ZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCiAJIlNFTEVDVCAqIEZST00gdGVt cG9yYWxfdW5pcXVlIE9SREVSIEJZIGlkLCB2YWxpZF9hdCIpOwogaXMoICRyZXN1bHQsIHFxe1sx LDIpfFsyMDAwLTAxLTAxLDIwMTAtMDEtMDEpfGEKLVsyLDMpfFsyMDAwLTAxLTAxLDIwMTAtMDEt MDEpfGIKK1syLDMpfFsyMDAwLTAxLTAxLDIwMDEtMDEtMDEpfGIKK1syLDMpfFsyMDAxLTAxLTAx LDIwMDItMDEtMDEpfGMKK1syLDMpfFsyMDAzLTAxLTAxLDIwMTAtMDEtMDEpfGIKIFs0LDUpfFsy MDAwLTAxLTAxLDIwMTAtMDEtMDEpfGF9LCAncmVwbGljYXRlZCB0ZW1wb3JhbF91bmlxdWUgVVNJ TkcgSU5ERVgnKTsKIAogIyBjbGVhbnVwCkBAIC01NDMsNiArNjAzLDEyIEBAIGlzKCAkc3RkZXJy LAogCXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBv cmFsX25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBh bmQgcHVibGlzaGVzIHVwZGF0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxl LCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAogCSJjYW4ndCBVUERB VEUgdGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJy KSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVtcG9yYWxf bm9fa2V5IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDEtMDEtMDEnIFRPICcyMDAy LTAxLTAxJyBTRVQgYSA9ICdjJyBXSEVSRSBpZCA9ICdbMiwzKSciKTsKK2lzKCAkc3RkZXJyLAor CXFxKHBzcWw6PHN0ZGluPjoxOiBFUlJPUjogIGNhbm5vdCB1cGRhdGUgdGFibGUgInRlbXBvcmFs X25vX2tleSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGljYSBpZGVudGl0eSBhbmQg cHVibGlzaGVzIHVwZGF0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgdXBkYXRpbmcgdGhlIHRhYmxlLCBz ZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJMRS4pLAorCSJjYW4ndCBVUERBVEUg dGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKIAogKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIp ID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBv cmFsX25vX2tleSBXSEVSRSBpZCA9ICdbMyw0KSciKTsKQEAgLTU1MCw2ICs2MTYsMTIgQEAgaXMo ICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9t IHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxp Y2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCiBISU5UOiAgVG8gZW5hYmxlIGRlbGV0 aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJM RS4pLAogCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKKygkcmVzdWx0 LCAkc3Rkb3V0LCAkc3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAor CSJERUxFVEUgRlJPTSB0ZW1wb3JhbF9ub19rZXkgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAwMi0wMS0wMScgVE8gJzIwMDMtMDEtMDEnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMo ICRzdGRlcnIsCisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IGRlbGV0ZSBmcm9t IHRhYmxlICJ0ZW1wb3JhbF9ub19rZXkiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxp Y2EgaWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyBkZWxldGVzCitISU5UOiAgVG8gZW5hYmxlIGRlbGV0 aW5nIGZyb20gdGhlIHRhYmxlLCBzZXQgUkVQTElDQSBJREVOVElUWSB1c2luZyBBTFRFUiBUQUJM RS4pLAorCSJjYW4ndCBERUxFVEUgdGVtcG9yYWxfbm9fa2V5IE5PVEhJTkciKTsKIAogJG5vZGVf cHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdzdWIxJyk7CiAKQEAgLTU3NSw2ICs2NDcsMTIg QEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0 ZSB0YWJsZSAidGVtcG9yYWxfcGsiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2Eg aWRlbnRpdHkgYW5kIHB1Ymxpc2hlcyB1cGRhdGVzCiBISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5n IHRoZSB0YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAki Y2FuJ3QgVVBEQVRFIHRlbXBvcmFsX3BrIE5PVEhJTkciKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAk c3RkZXJyKSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJVUERBVEUgdGVt cG9yYWxfcGsgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScgVE8gJzIw MDItMDEtMDEnIFNFVCBhID0gJ2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIs CisJcXEocHNxbDo8c3RkaW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9y YWxfcGsiIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJlcGxpY2EgaWRlbnRpdHkgYW5kIHB1 Ymxpc2hlcyB1cGRhdGVzCitISU5UOiAgVG8gZW5hYmxlIHVwZGF0aW5nIHRoZSB0YWJsZSwgc2V0 IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2FuJ3QgVVBEQVRFIHRl bXBvcmFsX3BrIE5PVEhJTkciKTsKIAogKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5v ZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkRFTEVURSBGUk9NIHRlbXBvcmFsX3Br IFdIRVJFIGlkID0gJ1szLDQpJyIpOwpAQCAtNTgyLDYgKzY2MCwxMiBAQCBpcyggJHN0ZGVyciwK IAlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRl bXBvcmFsX3BrIiBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFu ZCBwdWJsaXNoZXMgZGVsZXRlcwogSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBmcm9tIHRoZSB0 YWJsZSwgc2V0IFJFUExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKIAkiY2FuJ3Qg REVMRVRFIHRlbXBvcmFsX3BrIE5PVEhJTkciKTsKKygkcmVzdWx0LCAkc3Rkb3V0LCAkc3RkZXJy KSA9ICRub2RlX3B1Ymxpc2hlci0+cHNxbCgncG9zdGdyZXMnLAorCSJERUxFVEUgRlJPTSB0ZW1w b3JhbF9wayBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAyLTAxLTAxJyBUTyAnMjAw My0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7CitpcyggJHN0ZGVyciwKKwlxcShwc3FsOjxz dGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20gdGFibGUgInRlbXBvcmFsX3BrIiBi ZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMg ZGVsZXRlcworSElOVDogIFRvIGVuYWJsZSBkZWxldGluZyBmcm9tIHRoZSB0YWJsZSwgc2V0IFJF UExJQ0EgSURFTlRJVFkgdXNpbmcgQUxURVIgVEFCTEUuKSwKKwkiY2FuJ3QgREVMRVRFIHRlbXBv cmFsX3BrIE5PVEhJTkciKTsKIAogJG5vZGVfcHVibGlzaGVyLT53YWl0X2Zvcl9jYXRjaHVwKCdz dWIxJyk7CiAKQEAgLTYwNyw2ICs2OTEsMTIgQEAgaXMoICRzdGRlcnIsCiAJcXEocHNxbDo8c3Rk aW4+OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfdW5pcXVlIiBiZWNh dXNlIGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBk YXRlcwogSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElE RU5USVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCiAJImNhbid0IFVQREFURSB0ZW1wb3JhbF91bmlx dWUgTk9USElORyIpOworKCRyZXN1bHQsICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlz aGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJIlVQREFURSB0ZW1wb3JhbF91bmlxdWUgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMS0wMS0wMScgVE8gJzIwMDItMDEtMDEnIFNFVCBhID0g J2MnIFdIRVJFIGlkID0gJ1syLDMpJyIpOworaXMoICRzdGRlcnIsCisJcXEocHNxbDo8c3RkaW4+ OjE6IEVSUk9SOiAgY2Fubm90IHVwZGF0ZSB0YWJsZSAidGVtcG9yYWxfdW5pcXVlIiBiZWNhdXNl IGl0IGRvZXMgbm90IGhhdmUgYSByZXBsaWNhIGlkZW50aXR5IGFuZCBwdWJsaXNoZXMgdXBkYXRl cworSElOVDogIFRvIGVuYWJsZSB1cGRhdGluZyB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5U SVRZIHVzaW5nIEFMVEVSIFRBQkxFLiksCisJImNhbid0IFVQREFURSBGT1IgUE9SVElPTiBPRiB0 ZW1wb3JhbF91bmlxdWUgTk9USElORyIpOwogCiAoJHJlc3VsdCwgJHN0ZG91dCwgJHN0ZGVycikg PSAkbm9kZV9wdWJsaXNoZXItPnBzcWwoJ3Bvc3RncmVzJywKIAkiREVMRVRFIEZST00gdGVtcG9y YWxfdW5pcXVlIFdIRVJFIGlkID0gJ1szLDQpJyIpOwpAQCAtNjE0LDYgKzcwNCwxMiBAQCBpcygg JHN0ZGVyciwKIAlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20g dGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGlj YSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKIEhJTlQ6ICBUbyBlbmFibGUgZGVsZXRp bmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxF LiksCiAJImNhbid0IERFTEVURSB0ZW1wb3JhbF91bmlxdWUgTk9USElORyIpOworKCRyZXN1bHQs ICRzdGRvdXQsICRzdGRlcnIpID0gJG5vZGVfcHVibGlzaGVyLT5wc3FsKCdwb3N0Z3JlcycsCisJ IkRFTEVURSBGUk9NIHRlbXBvcmFsX3VuaXF1ZSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDAyLTAxLTAxJyBUTyAnMjAwMy0wMS0wMScgV0hFUkUgaWQgPSAnWzIsMyknIik7Citpcygg JHN0ZGVyciwKKwlxcShwc3FsOjxzdGRpbj46MTogRVJST1I6ICBjYW5ub3QgZGVsZXRlIGZyb20g dGFibGUgInRlbXBvcmFsX3VuaXF1ZSIgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmVwbGlj YSBpZGVudGl0eSBhbmQgcHVibGlzaGVzIGRlbGV0ZXMKK0hJTlQ6ICBUbyBlbmFibGUgZGVsZXRp bmcgZnJvbSB0aGUgdGFibGUsIHNldCBSRVBMSUNBIElERU5USVRZIHVzaW5nIEFMVEVSIFRBQkxF LiksCisJImNhbid0IERFTEVURSBGT1IgUE9SVElPTiBPRiB0ZW1wb3JhbF91bmlxdWUgTk9USElO RyIpOwogCiAkbm9kZV9wdWJsaXNoZXItPndhaXRfZm9yX2NhdGNodXAoJ3N1YjEnKTsKIApkaWZm IC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMvcGdp bmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCA1MjkwYjkxZTgzZS4uM2FmYTc4NzY1YjMgMTAwNjQ0 Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CisrKyBiL3NyYy90b29scy9w Z2luZGVudC90eXBlZGVmcy5saXN0CkBAIC04MzcsNiArODM3LDkgQEAgRm9yQm90aFN0YXRlCiBG b3JFYWNoU3RhdGUKIEZvckZpdmVTdGF0ZQogRm9yRm91clN0YXRlCitGb3JQb3J0aW9uT2ZDbGF1 c2UKK0ZvclBvcnRpb25PZkV4cHIKK0ZvclBvcnRpb25PZlN0YXRlCiBGb3JUaHJlZVN0YXRlCiBG b3JlaWduQXN5bmNDb25maWd1cmVXYWl0X2Z1bmN0aW9uCiBGb3JlaWduQXN5bmNOb3RpZnlfZnVu Y3Rpb24KQEAgLTk3MCw2ICs5NzMsNyBAQCBGb3JtX3BnX3RzX3RlbXBsYXRlCiBGb3JtX3BnX3R5 cGUKIEZvcm1fcGdfdXNlcl9tYXBwaW5nCiBGb3JtYXROb2RlCitGUE9fUXVlcnlIYXNoRW50cnkK IEZyZWVCbG9ja051bWJlckFycmF5CiBGcmVlTGlzdERhdGEKIEZyZWVQYWdlQnRyZWUKLS0gCjIu MzkuNQoK --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0008-Look-up-more-temporal-foreign-key-helper-procs.patch" Content-Disposition: attachment; filename="v56-0008-Look-up-more-temporal-foreign-key-helper-procs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qm7 RnJvbSBiMWU4M2E5NjkwMDQ0NGFkNjQxYzE5NDFjZjliYjgwM2M0M2M1NGNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTY6MTE6NDcgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAwOC8xMV0gTG9vayB1cCBtb3JlIHRlbXBvcmFsIGZvcmVpZ24ga2V5IGhl bHBlciBwcm9jcwoKVG8gaW1wbGVtZW50IENBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQgb24g dGVtcG9yYWwgZm9yZWlnbiBrZXlzLCB3ZQpuZWVkIGFuIGludGVyc2VjdCBmdW5jdGlvbiBhbmQg YSBtaW51cyBzZXQtcmV0dXJuaW5nIGZ1bmN0aW9uLiBXZSBjYW4KbG9vayB0aGVtIHVwIHdoZW4g d2UgbG9vayB1cCB0aGUgb3BlcmF0b3JzIGFscmVhZHkgbmVlZGVkIGZvciB0ZW1wb3JhbApmb3Jl aWduIGtleXMgKGluY2x1ZGluZyBOTyBBQ1RJT04gY29uc3RyYWludHMpLgoKQXV0aG9yOiBQYXVs IEEuIEp1bmd3aXJ0aCA8cGpAaWxsdW1pbmF0ZWRjb21wdXRpbmcuY29tPgotLS0KIHNyYy9iYWNr ZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIHwgMzYgKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgIHwgIDYgKysrLS0KIHNy Yy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAgIHwgIDIgKy0KIHNyYy9iYWNrZW5kL3V0 aWxzL2FkdC9yaV90cmlnZ2Vycy5jIHwgMTIgKysrKysrLS0tLQogc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19jb25zdHJhaW50LmggfCAxMCArKysrLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNl cnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRh bG9nL3BnX2NvbnN0cmFpbnQuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5j CmluZGV4IDYwMDJmZDAwMDJmLi40YzhlMjQyYWQ0YSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9wZ19jb25zdHJhaW50LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19jb25z dHJhaW50LmMKQEAgLTE2MzMsNyArMTYzMyw3IEBAIERlY29uc3RydWN0RmtDb25zdHJhaW50Um93 KEhlYXBUdXBsZSB0dXBsZSwgaW50ICpudW1ma3MsCiB9CiAKIC8qCi0gKiBGaW5kRktQZXJpb2RP cGVycyAtCisgKiBGaW5kRktQZXJpb2RPcGVyc0FuZFByb2NzIC0KICAqCiAgKiBMb29rcyB1cCB0 aGUgb3BlcmF0b3Igb2lkcyB1c2VkIGZvciB0aGUgUEVSSU9EIHBhcnQgb2YgYSB0ZW1wb3JhbCBm b3JlaWduIGtleS4KICAqIFRoZSBvcGNsYXNzIHNob3VsZCBiZSB0aGUgb3BjbGFzcyBvZiB0aGF0 IFBFUklPRCBlbGVtZW50LgpAQCAtMTY0NCwxMiArMTY0NCwxOSBAQCBEZWNvbnN0cnVjdEZrQ29u c3RyYWludFJvdyhIZWFwVHVwbGUgdHVwbGUsIGludCAqbnVtZmtzLAogICogVGhhdCB3YXkgZm9y ZWlnbiBrZXlzIGNhbiBjb21wYXJlIGZrYXR0ciA8QCByYW5nZV9hZ2cocGthdHRyKS4KICAqIGlu dGVyc2VjdG9wZXJvaWQgaXMgdXNlZCBieSBOTyBBQ1RJT04gY29uc3RyYWludHMgdG8gdHJpbSB0 aGUgcmFuZ2UgYmVpbmcgY29uc2lkZXJlZAogICogdG8ganVzdCB3aGF0IHdhcyB1cGRhdGVkL2Rl bGV0ZWQuCisgKiBpbnRlcnNlY3Rwcm9jb2lkIGlzIHVzZWQgdG8gbGltaXQgdGhlIGVmZmVjdCBv ZiBDQVNDQURFL1NFVCBOVUxML1NFVCBERUZBVUxUCisgKiB3aGVuIHRoZSBQSyByZWNvcmQgaXMg Y2hhbmdlZCB3aXRoIEZPUiBQT1JUSU9OIE9GLgorICogd2l0aG91dHBvcnRpb25vaWQgaXMgYSBz ZXQtcmV0dXJuaW5nIGZ1bmN0aW9uIGNvbXB1dGluZworICogdGhlIGRpZmZlcmVuY2UgYmV0d2Vl biBvbmUgcmFuZ2UgYW5kIGFub3RoZXIsCisgKiByZXR1cm5pbmcgZWFjaCByZXN1bHQgcmFuZ2Ug aW4gYSBzZXBhcmF0ZSByb3cuCiAgKi8KIHZvaWQKLUZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNs YXNzLAotCQkJCSAgT2lkICpjb250YWluZWRieW9wZXJvaWQsCi0JCQkJICBPaWQgKmFnZ2VkY29u dGFpbmVkYnlvcGVyb2lkLAotCQkJCSAgT2lkICppbnRlcnNlY3RvcGVyb2lkKQorRmluZEZLUGVy aW9kT3BlcnNBbmRQcm9jcyhPaWQgb3BjbGFzcywKKwkJCQkJCSAgT2lkICpjb250YWluZWRieW9w ZXJvaWQsCisJCQkJCQkgIE9pZCAqYWdnZWRjb250YWluZWRieW9wZXJvaWQsCisJCQkJCQkgIE9p ZCAqaW50ZXJzZWN0b3Blcm9pZCwKKwkJCQkJCSAgT2lkICppbnRlcnNlY3Rwcm9jb2lkLAorCQkJ CQkJICBPaWQgKndpdGhvdXRwb3J0aW9ub2lkKQogewogCU9pZAkJCW9wZmFtaWx5ID0gSW52YWxp ZE9pZDsKIAlPaWQJCQlvcGNpbnR5cGUgPSBJbnZhbGlkT2lkOwpAQCAtMTY5MSw2ICsxNjk4LDE3 IEBAIEZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAogCQkJCQkJCSAgIGFnZ2VkY29udGFp bmVkYnlvcGVyb2lkLAogCQkJCQkJCSAgICZzdHJhdCk7CiAKKwkvKgorCSAqIEhhcmRjb2RlIGlu dGVyc2VjdCBvcGVyYXRvcnMgZm9yIHJhbmdlcyBhbmQgbXVsdGlyYW5nZXMsIGJlY2F1c2Ugd2UK KwkgKiBkb24ndCBoYXZlIGEgYmV0dGVyIHdheSB0byBsb29rIHVwIG9wZXJhdG9ycyB0aGF0IGFy ZW4ndCB1c2VkIGluCisJICogaW5kZXhlcy4KKwkgKgorCSAqIElmIHlvdSBjaGFuZ2UgdGhpcyBj b2RlLCB5b3UgbXVzdCBjaGFuZ2UgdGhlIGNvZGUgaW4KKwkgKiB0cmFuc2Zvcm1Gb3JQb3J0aW9u T2ZDbGF1c2UuCisJICoKKwkgKiBYWFg6IEZpbmQgYSBtb3JlIGV4dGVuc2libGUgd2F5IHRvIGxv b2sgdXAgdGhlIG9wZXJhdG9yLCBwZXJtaXR0aW5nCisJICogdXNlci1kZWZpbmVkIHR5cGVzLgor CSAqLwogCXN3aXRjaCAob3BjaW50eXBlKQogCXsKIAkJY2FzZSBBTllSQU5HRU9JRDoKQEAgLTE3 MDIsNiArMTcyMCwxNCBAQCBGaW5kRktQZXJpb2RPcGVycyhPaWQgb3BjbGFzcywKIAkJZGVmYXVs dDoKIAkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIG9wY2ludHlwZTogJXUiLCBvcGNpbnR5cGUp OwogCX0KKworCS8qCisJICogTG9vayB1cCB0aGUgaW50ZXJzZWN0IHByb2MuIFdlIHVzZSB0aGlz IGZvciBGT1IgUE9SVElPTiBPRiAoYm90aCB0aGUKKwkgKiBvcGVyYXRpb24gaXRzZWxmIGFuZCB3 aGVuIGNoZWNraW5nIGZvcmVpZ24ga2V5cykuIElmIHRoaXMgaXMgbWlzc2luZyB3ZQorCSAqIGRv bid0IG5lZWQgdG8gY29tcGxhaW4gaGVyZSwgYmVjYXVzZSBGT1IgUE9SVElPTiBPRiB3aWxsIG5v dCBiZQorCSAqIGFsbG93ZWQuCisJICovCisJKmludGVyc2VjdHByb2NvaWQgPSBnZXRfb3Bjb2Rl KCppbnRlcnNlY3RvcGVyb2lkKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKaW5k ZXggOWYxMzg4MTU5NzAuLmRlMGYzYWY0NmM1IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpA QCAtMTA1MzksOSArMTA1MzksMTEgQEAgQVRBZGRGb3JlaWduS2V5Q29uc3RyYWludChMaXN0ICoq d3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkJT2lkCQkJcGVy aW9kb3Blcm9pZDsKIAkJT2lkCQkJYWdnZWRwZXJpb2RvcGVyb2lkOwogCQlPaWQJCQlpbnRlcnNl Y3RvcGVyb2lkOworCQlPaWQJCQlpbnRlcnNlY3Rwcm9jb2lkOworCQlPaWQJCQl3aXRob3V0b3Zl cmxhcHNvaWQ7CiAKLQkJRmluZEZLUGVyaW9kT3BlcnMob3BjbGFzc2VzW251bXBrcyAtIDFdLCAm cGVyaW9kb3Blcm9pZCwgJmFnZ2VkcGVyaW9kb3Blcm9pZCwKLQkJCQkJCSAgJmludGVyc2VjdG9w ZXJvaWQpOworCQlGaW5kRktQZXJpb2RPcGVyc0FuZFByb2NzKG9wY2xhc3Nlc1tudW1wa3MgLSAx XSwgJnBlcmlvZG9wZXJvaWQsICZhZ2dlZHBlcmlvZG9wZXJvaWQsCisJCQkJCQkJCSAgJmludGVy c2VjdG9wZXJvaWQsICZpbnRlcnNlY3Rwcm9jb2lkLCAmd2l0aG91dG92ZXJsYXBzb2lkKTsKIAl9 CiAKIAkvKiBGaXJzdCwgY3JlYXRlIHRoZSBjb25zdHJhaW50IGNhdGFsb2cgZW50cnkgaXRzZWxm LiAqLwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9hbmFseXplLmMKaW5kZXggNjg5MGE2N2ZiM2MuLjJkMjJhNmVlNWMwIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jCisrKyBiL3NyYy9iYWNrZW5kL3Bh cnNlci9hbmFseXplLmMKQEAgLTE0NDYsNyArMTQ0Niw3IEBAIHRyYW5zZm9ybUZvclBvcnRpb25P ZkNsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJCS8qCiAJCSAqIFdoYXRldmVyIG9wZXJhdG9y IGlzIHVzZWQgZm9yIGludGVyc2VjdCBieSB0ZW1wb3JhbCBmb3JlaWduIGtleXMsCiAJCSAqIHdl IGNhbiB1c2UgaXRzIGJhY2tpbmcgcHJvY2VkdXJlIGZvciBpbnRlcnNlY3RzIGluIEZPUiBQT1JU SU9OIE9GLgotCQkgKiBYWFg6IFNoYXJlIGNvZGUgd2l0aCBGaW5kRktQZXJpb2RPcGVycz8KKwkJ ICogWFhYOiBTaGFyZSBjb2RlIHdpdGggRmluZEZLUGVyaW9kT3BlcnNBbmRQcm9jcz8KIAkJICov CiAJCXN3aXRjaCAob3BjaW50eXBlKQogCQl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGls cy9hZHQvcmlfdHJpZ2dlcnMuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5j CmluZGV4IGQ2YjFlYjU3YTQ4Li5mYzhkNTllMGY0NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3Ry aWdnZXJzLmMKQEAgLTEyOSw2ICsxMjksOCBAQCB0eXBlZGVmIHN0cnVjdCBSSV9Db25zdHJhaW50 SW5mbwogCU9pZAkJCXBlcmlvZF9jb250YWluZWRfYnlfb3BlcjsJLyogYW55cmFuZ2UgPEAgYW55 cmFuZ2UgKi8KIAlPaWQJCQlhZ2dlZF9wZXJpb2RfY29udGFpbmVkX2J5X29wZXI7IC8qIGZrYXR0 ciA8QCByYW5nZV9hZ2cocGthdHRyKSAqLwogCU9pZAkJCXBlcmlvZF9pbnRlcnNlY3Rfb3BlcjsJ LyogYW55cmFuZ2UgKiBhbnlyYW5nZSAob3IgbXVsdGlyYW5nZSkgKi8KKwlPaWQJCQlwZXJpb2Rf aW50ZXJzZWN0X3Byb2M7CS8qIGFueXJhbmdlICogYW55cmFuZ2UgKG9yIG11bHRpcmFuZ2UpICov CisJT2lkCQkJd2l0aG91dF9wb3J0aW9uX3Byb2M7CS8qIGFueXJhbmdlIC0gYW55cmFuZ2UgU1JG ICovCiAJZGxpc3Rfbm9kZQl2YWxpZF9saW5rOwkJLyogTGluayBpbiBsaXN0IG9mIHZhbGlkIGVu dHJpZXMgKi8KIH0gUklfQ29uc3RyYWludEluZm87CiAKQEAgLTIzMzcsMTAgKzIzMzksMTIgQEAg cmlfTG9hZENvbnN0cmFpbnRJbmZvKE9pZCBjb25zdHJhaW50T2lkKQogCXsKIAkJT2lkCQkJb3Bj bGFzcyA9IGdldF9pbmRleF9jb2x1bW5fb3BjbGFzcyhjb25Gb3JtLT5jb25pbmRpZCwgcmlpbmZv LT5ua2V5cyk7CiAKLQkJRmluZEZLUGVyaW9kT3BlcnMob3BjbGFzcywKLQkJCQkJCSAgJnJpaW5m by0+cGVyaW9kX2NvbnRhaW5lZF9ieV9vcGVyLAotCQkJCQkJICAmcmlpbmZvLT5hZ2dlZF9wZXJp b2RfY29udGFpbmVkX2J5X29wZXIsCi0JCQkJCQkgICZyaWluZm8tPnBlcmlvZF9pbnRlcnNlY3Rf b3Blcik7CisJCUZpbmRGS1BlcmlvZE9wZXJzQW5kUHJvY3Mob3BjbGFzcywKKwkJCQkJCQkJICAm cmlpbmZvLT5wZXJpb2RfY29udGFpbmVkX2J5X29wZXIsCisJCQkJCQkJCSAgJnJpaW5mby0+YWdn ZWRfcGVyaW9kX2NvbnRhaW5lZF9ieV9vcGVyLAorCQkJCQkJCQkgICZyaWluZm8tPnBlcmlvZF9p bnRlcnNlY3Rfb3BlciwKKwkJCQkJCQkJICAmcmlpbmZvLT5wZXJpb2RfaW50ZXJzZWN0X3Byb2Ms CisJCQkJCQkJCSAgJnJpaW5mby0+d2l0aG91dF9wb3J0aW9uX3Byb2MpOwogCX0KIAogCVJlbGVh c2VTeXNDYWNoZSh0dXApOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25z dHJhaW50LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaAppbmRleCA0YWZj ZWI1YzY5Mi4uZjhhMDFkODk2MTcgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdf Y29uc3RyYWludC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3RyYWludC5oCkBA IC0yODgsMTAgKzI4OCwxMiBAQCBleHRlcm4gdm9pZCBEZWNvbnN0cnVjdEZrQ29uc3RyYWludFJv dyhIZWFwVHVwbGUgdHVwbGUsIGludCAqbnVtZmtzLAogCQkJCQkJCQkJICAgQXR0ck51bWJlciAq Y29ua2V5LCBBdHRyTnVtYmVyICpjb25ma2V5LAogCQkJCQkJCQkJICAgT2lkICpwZl9lcV9vcHJz LCBPaWQgKnBwX2VxX29wcnMsIE9pZCAqZmZfZXFfb3BycywKIAkJCQkJCQkJCSAgIGludCAqbnVt X2ZrX2RlbF9zZXRfY29scywgQXR0ck51bWJlciAqZmtfZGVsX3NldF9jb2xzKTsKLWV4dGVybiB2 b2lkIEZpbmRGS1BlcmlvZE9wZXJzKE9pZCBvcGNsYXNzLAotCQkJCQkJCSAgT2lkICpjb250YWlu ZWRieW9wZXJvaWQsCi0JCQkJCQkJICBPaWQgKmFnZ2VkY29udGFpbmVkYnlvcGVyb2lkLAotCQkJ CQkJCSAgT2lkICppbnRlcnNlY3RvcGVyb2lkKTsKK2V4dGVybiB2b2lkIEZpbmRGS1BlcmlvZE9w ZXJzQW5kUHJvY3MoT2lkIG9wY2xhc3MsCisJCQkJCQkJCQkgIE9pZCAqY29udGFpbmVkYnlvcGVy b2lkLAorCQkJCQkJCQkJICBPaWQgKmFnZ2VkY29udGFpbmVkYnlvcGVyb2lkLAorCQkJCQkJCQkJ ICBPaWQgKmludGVyc2VjdG9wZXJvaWQsCisJCQkJCQkJCQkgIE9pZCAqaW50ZXJzZWN0cHJvY29p ZCwKKwkJCQkJCQkJCSAgT2lkICp3aXRob3V0cG9ydGlvbm9pZCk7CiAKIGV4dGVybiBib29sIGNo ZWNrX2Z1bmN0aW9uYWxfZ3JvdXBpbmcoT2lkIHJlbGlkLAogCQkJCQkJCQkJICBJbmRleCB2YXJu bywgSW5kZXggdmFybGV2ZWxzdXAsCi0tIAoyLjM5LjUKCg== --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0007-Add-tg_temporal-to-TriggerData.patch" Content-Disposition: attachment; filename="v56-0007-Add-tg_temporal-to-TriggerData.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qk6 RnJvbSAwZGU5NDU2MTU1ZTc4MmRhZWJkY2JmZDA2MzkxOGMzMzE5ZWI0MjBkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IEZyaSwgMTMgSnVuIDIwMjUgMTU6NDA6MDYgLTA3MDAKU3ViamVj dDogW1BBVENIIHY1NiAwNy8xMV0gQWRkIHRnX3RlbXBvcmFsIHRvIFRyaWdnZXJEYXRhCgpUaGlz IG5lZWRzIHRvIGJlIHBhc3NlZCB0byBvdXIgUkkgdHJpZ2dlcnMgdG8gaW1wbGVtZW50IHRlbXBv cmFsCkNBU0NBREUvU0VUIE5VTEwvU0VUIERFRkFVTFQgd2hlbiB0aGUgdXNlciBjb21tYW5kIGlz IGFuIFVQREFURS9ERUxFVEUKRk9SIFBPUlRJT04gT0YuIFRoZSB0cmlnZ2VycyB3aWxsIHVzZSB0 aGUgRk9SIFBPUlRJT04gT0YgYm91bmRzIHRvIGF2b2lkCm92ZXItYXBwbHlpbmcgdGhlIGNoYW5n ZSB0byByZWZlcmVuY2luZyByZWNvcmRzLgoKUHJvYmFibHkgaXQgaXMgdXNlZnVsIGZvciB1c2Vy LWRlZmluZWQgdHJpZ2dlcnMgYXMgd2VsbCwgZm9yIGV4YW1wbGUKYXVkaXRpbmcgb3IgdHJpZ2dl ci1iYXNlZCByZXBsaWNhdGlvbi4KCkF1dGhvcjogUGF1bCBBLiBKdW5nd2lydGggPHBqQGlsbHVt aW5hdGVkY29tcHV0aW5nLmNvbT4KLS0tCiBkb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sICAgICAg ICB8IDU2ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCiBzcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYyB8ICAxICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyAg IHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL2NvbW1hbmRz L3RyaWdnZXIuaCAgIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCAx MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sIGIv ZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbAppbmRleCBlM2FkOTgwNjUyOC4uMDA0NGE5N2EzZmQg MTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21s L3RyaWdnZXIuc2dtbApAQCAtNTYzLDE3ICs1NjMsMTggQEAgQ0FMTEVEX0FTX1RSSUdHRVIoZmNp bmZvKQogPHByb2dyYW1saXN0aW5nPgogdHlwZWRlZiBzdHJ1Y3QgVHJpZ2dlckRhdGEKIHsKLSAg ICBOb2RlVGFnICAgICAgICAgIHR5cGU7Ci0gICAgVHJpZ2dlckV2ZW50ICAgICB0Z19ldmVudDsK LSAgICBSZWxhdGlvbiAgICAgICAgIHRnX3JlbGF0aW9uOwotICAgIEhlYXBUdXBsZSAgICAgICAg dGdfdHJpZ3R1cGxlOwotICAgIEhlYXBUdXBsZSAgICAgICAgdGdfbmV3dHVwbGU7Ci0gICAgVHJp Z2dlciAgICAgICAgICp0Z190cmlnZ2VyOwotICAgIFR1cGxlVGFibGVTbG90ICAqdGdfdHJpZ3Ns b3Q7Ci0gICAgVHVwbGVUYWJsZVNsb3QgICp0Z19uZXdzbG90OwotICAgIFR1cGxlc3RvcmVzdGF0 ZSAqdGdfb2xkdGFibGU7Ci0gICAgVHVwbGVzdG9yZXN0YXRlICp0Z19uZXd0YWJsZTsKLSAgICBj b25zdCBCaXRtYXBzZXQgKnRnX3VwZGF0ZWRjb2xzOworICAgIE5vZGVUYWcgICAgICAgICAgICB0 eXBlOworICAgIFRyaWdnZXJFdmVudCAgICAgICB0Z19ldmVudDsKKyAgICBSZWxhdGlvbiAgICAg ICAgICAgdGdfcmVsYXRpb247CisgICAgSGVhcFR1cGxlICAgICAgICAgIHRnX3RyaWd0dXBsZTsK KyAgICBIZWFwVHVwbGUgICAgICAgICAgdGdfbmV3dHVwbGU7CisgICAgVHJpZ2dlciAgICAgICAg ICAgKnRnX3RyaWdnZXI7CisgICAgVHVwbGVUYWJsZVNsb3QgICAgKnRnX3RyaWdzbG90OworICAg IFR1cGxlVGFibGVTbG90ICAgICp0Z19uZXdzbG90OworICAgIFR1cGxlc3RvcmVzdGF0ZSAgICp0 Z19vbGR0YWJsZTsKKyAgICBUdXBsZXN0b3Jlc3RhdGUgICAqdGdfbmV3dGFibGU7CisgICAgY29u c3QgQml0bWFwc2V0ICAgKnRnX3VwZGF0ZWRjb2xzOworICAgIEZvclBvcnRpb25PZlN0YXRlICp0 Z190ZW1wb3JhbDsKIH0gVHJpZ2dlckRhdGE7CiA8L3Byb2dyYW1saXN0aW5nPgogCkBAIC04NDEs NiArODQyLDM5IEBAIHR5cGVkZWYgc3RydWN0IFRyaWdnZXIKICAgICAgICA8L3BhcmE+CiAgICAg ICA8L2xpc3RpdGVtPgogICAgICA8L3Zhcmxpc3RlbnRyeT4KKworICAgICA8dmFybGlzdGVudHJ5 PgorICAgICAgPHRlcm0+PHN0cnVjdGZpZWxkPnRnX3RlbXBvcmFsPC9zdHJ1Y3RmaWVsZD48L3Rl cm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIFNldCBmb3IgPGxp dGVyYWw+VVBEQVRFPC9saXRlcmFsPiBhbmQgPGxpdGVyYWw+REVMRVRFPC9saXRlcmFsPiBxdWVy aWVzCisgICAgICAgIHRoYXQgdXNlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiwg b3RoZXJ3aXNlIDxzeW1ib2w+TlVMTDwvc3ltYm9sPi4KKyAgICAgICAgQ29udGFpbnMgYSBwb2lu dGVyIHRvIGEgc3RydWN0dXJlIG9mIHR5cGUKKyAgICAgICAgPHN0cnVjdG5hbWU+Rm9yUG9ydGlv bk9mU3RhdGU8L3N0cnVjdG5hbWU+LCBkZWZpbmVkIGluCisgICAgICAgIDxmaWxlbmFtZT5ub2Rl cy9leGVjbm9kZXMuaDwvZmlsZW5hbWU+OgorCis8cHJvZ3JhbWxpc3Rpbmc+Cit0eXBlZGVmIHN0 cnVjdCBGb3JQb3J0aW9uT2ZTdGF0ZQoreworICAgIE5vZGVUYWcgICAgIHR5cGU7CisKKyAgICBj aGFyICAgICAgICpmcF9yYW5nZU5hbWU7ICAgLyogdGhlIGNvbHVtbiBuYW1lZCBpbiBGT1IgUE9S VElPTiBPRiAqLworICAgIE9pZCAgICAgICAgIGZwX3JhbmdlVHlwZTsgICAvKiB0aGUgdHlwZSBv ZiB0aGUgRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbiAqLworICAgIGludCAgICAgICAgIGZwX3Jh bmdlQXR0bm87ICAvKiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAqLworICAgIERhdHVt ICAgICAgIGZwX3RhcmdldFJhbmdlOyAvKiB0aGUgcmFuZ2UvbXVsdGlyYW5nZSBmcm9tIEZPUiBQ T1JUSU9OIE9GICovCisgICAgVHlwZUNhY2hlRW50cnkgKmZwX2xlZnRvdmVyc3R5cGNhY2hlOyAg IC8qIHR5cGUgY2FjaGUgZW50cnkgb2YgdGhlIHJhbmdlICovCit9IEZvclBvcnRpb25PZlN0YXRl OworPC9wcm9ncmFtbGlzdGluZz4KKworICAgICAgIHdoZXJlIDxzdHJ1Y3RmaWVsZD5mcF9yYW5n ZU5hbWU8L3N0cnVjdGZpZWxkPiBpcyB0aGUgcmFuZ2UKKyAgICAgICBjb2x1bW4gbmFtZWQgaW4g dGhlIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBjbGF1c2UsCisgICAgICAgPHN0 cnVjdGZpZWxkPmZwX3JhbmdlVHlwZTwvc3RydWN0ZmllbGQ+IGlzIGl0cyByYW5nZSB0eXBlLAor ICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZUF0dG5vPC9zdHJ1Y3RmaWVsZD4gaXMgaXRzIGF0 dHJpYnV0ZSBudW1iZXIsCisgICAgICAgYW5kIDxzdHJ1Y3RmaWVsZD5mcF90YXJnZXRSYW5nZTwv c3RydWN0ZmllbGQ+IGlzIGEgcmFuZ2V0eXBlIHZhbHVlIGNyZWF0ZWQKKyAgICAgICBieSBldmFs dWF0aW5nIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91bmRzLgorICAg ICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgogICAg IDwvdmFyaWFibGVsaXN0PgogICAgPC9wYXJhPgogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9j b21tYW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmlu ZGV4IDVmZDhiNTEzMTJjLi45ZjEzODgxNTk3MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29t bWFuZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMK QEAgLTEzNzM1LDYgKzEzNzM1LDcgQEAgdmFsaWRhdGVGb3JlaWduS2V5Q29uc3RyYWludChjaGFy ICpjb25uYW1lLAogCQl0cmlnZGF0YS50Z190cmlndHVwbGUgPSBFeGVjRmV0Y2hTbG90SGVhcFR1 cGxlKHNsb3QsIGZhbHNlLCBOVUxMKTsKIAkJdHJpZ2RhdGEudGdfdHJpZ3Nsb3QgPSBzbG90Owog CQl0cmlnZGF0YS50Z190cmlnZ2VyID0gJnRyaWc7CisJCXRyaWdkYXRhLnRnX3RlbXBvcmFsID0g TlVMTDsKIAogCQlmY2luZm8tPmNvbnRleHQgPSAoTm9kZSAqKSAmdHJpZ2RhdGE7CiAKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5kL2NvbW1h bmRzL3RyaWdnZXIuYwppbmRleCA1NzlhYzhkNzZhZS4uNDNiOWQ4MmU2M2EgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5k cy90cmlnZ2VyLmMKQEAgLTQ3LDEyICs0NywxNCBAQAogI2luY2x1ZGUgInN0b3JhZ2UvbG1nci5o IgogI2luY2x1ZGUgInV0aWxzL2FjbC5oIgogI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisj aW5jbHVkZSAidXRpbHMvZGF0dW0uaCIKICNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgogI2lu Y2x1ZGUgInV0aWxzL2d1Y19ob29rcy5oIgogI2luY2x1ZGUgInV0aWxzL2ludmFsLmgiCiAjaW5j bHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCiAjaW5jbHVkZSAidXRpbHMvbWVtdXRpbHMuaCIKICNp bmNsdWRlICJ1dGlscy9wbGFuY2FjaGUuaCIKKyNpbmNsdWRlICJ1dGlscy9yYW5nZXR5cGVzLmgi CiAjaW5jbHVkZSAidXRpbHMvcmVsLmgiCiAjaW5jbHVkZSAidXRpbHMvc25hcG1nci5oIgogI2lu Y2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCkBAIC0yNjQ5LDYgKzI2NTEsNyBAQCBFeGVjQlNEZWxl dGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbykKIAlMb2NU cmlnZ2VyRGF0YS50Z19ldmVudCA9IFRSSUdHRVJfRVZFTlRfREVMRVRFIHwKIAkJVFJJR0dFUl9F VkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSByZWxpbmZvLT5yaV9S ZWxhdGlvbkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSByZWxpbmZvLT5yaV9m b3JQb3J0aW9uT2Y7CiAJZm9yIChpID0gMDsgaSA8IHRyaWdkZXNjLT5udW10cmlnZ2VyczsgaSsr KQogCXsKIAkJVHJpZ2dlciAgICAqdHJpZ2dlciA9ICZ0cmlnZGVzYy0+dHJpZ2dlcnNbaV07CkBA IC0yNzU3LDYgKzI3NjAsNyBAQCBFeGVjQlJEZWxldGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwg RVBRU3RhdGUgKmVwcXN0YXRlLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZF TlRfQkVGT1JFOwogCUxvY1RyaWdnZXJEYXRhLnRnX3JlbGF0aW9uID0gcmVsaW5mby0+cmlfUmVs YXRpb25EZXNjOworCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0gcmVsaW5mby0+cmlfZm9y UG9ydGlvbk9mOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkrKykK IAl7CiAJCUhlYXBUdXBsZQluZXd0dXBsZTsKQEAgLTI4NTgsNiArMjg2Miw3IEBAIEV4ZWNJUkRl bGV0ZVRyaWdnZXJzKEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQlU UklHR0VSX0VWRU5UX1JPVyB8CiAJCVRSSUdHRVJfRVZFTlRfSU5TVEVBRDsKIAlMb2NUcmlnZ2Vy RGF0YS50Z19yZWxhdGlvbiA9IHJlbGluZm8tPnJpX1JlbGF0aW9uRGVzYzsKKwlMb2NUcmlnZ2Vy RGF0YS50Z190ZW1wb3JhbCA9IHJlbGluZm8tPnJpX2ZvclBvcnRpb25PZjsKIAogCUV4ZWNGb3Jj ZVN0b3JlSGVhcFR1cGxlKHRyaWd0dXBsZSwgc2xvdCwgZmFsc2UpOwogCkBAIC0yOTIxLDYgKzI5 MjYsNyBAQCBFeGVjQlNVcGRhdGVUcmlnZ2VycyhFU3RhdGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5m byAqcmVsaW5mbykKIAkJVFJJR0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdf cmVsYXRpb24gPSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7CiAJTG9jVHJpZ2dlckRhdGEudGdf dXBkYXRlZGNvbHMgPSB1cGRhdGVkQ29sczsKKwlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9 IHJlbGluZm8tPnJpX2ZvclBvcnRpb25PZjsKIAlmb3IgKGkgPSAwOyBpIDwgdHJpZ2Rlc2MtPm51 bXRyaWdnZXJzOyBpKyspCiAJewogCQlUcmlnZ2VyICAgICp0cmlnZ2VyID0gJnRyaWdkZXNjLT50 cmlnZ2Vyc1tpXTsKQEAgLTMwNjQsNiArMzA3MCw3IEBAIEV4ZWNCUlVwZGF0ZVRyaWdnZXJzKEVT dGF0ZSAqZXN0YXRlLCBFUFFTdGF0ZSAqZXBxc3RhdGUsCiAJCVRSSUdHRVJfRVZFTlRfUk9XIHwK IAkJVFJJR0dFUl9FVkVOVF9CRUZPUkU7CiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24gPSBy ZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7CisJTG9jVHJpZ2dlckRhdGEudGdfdGVtcG9yYWwgPSBy ZWxpbmZvLT5yaV9mb3JQb3J0aW9uT2Y7CiAJdXBkYXRlZENvbHMgPSBFeGVjR2V0QWxsVXBkYXRl ZENvbHMocmVsaW5mbywgZXN0YXRlKTsKIAlMb2NUcmlnZ2VyRGF0YS50Z191cGRhdGVkY29scyA9 IHVwZGF0ZWRDb2xzOwogCWZvciAoaSA9IDA7IGkgPCB0cmlnZGVzYy0+bnVtdHJpZ2dlcnM7IGkr KykKQEAgLTMyMjYsNiArMzIzMyw3IEBAIEV4ZWNJUlVwZGF0ZVRyaWdnZXJzKEVTdGF0ZSAqZXN0 YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLAogCQlUUklHR0VSX0VWRU5UX1JPVyB8CiAJCVRS SUdHRVJfRVZFTlRfSU5TVEVBRDsKIAlMb2NUcmlnZ2VyRGF0YS50Z19yZWxhdGlvbiA9IHJlbGlu Zm8tPnJpX1JlbGF0aW9uRGVzYzsKKwlMb2NUcmlnZ2VyRGF0YS50Z190ZW1wb3JhbCA9IHJlbGlu Zm8tPnJpX2ZvclBvcnRpb25PZjsKIAogCUV4ZWNGb3JjZVN0b3JlSGVhcFR1cGxlKHRyaWd0dXBs ZSwgb2xkc2xvdCwgZmFsc2UpOwogCkBAIC0zNjk3LDYgKzM3MDUsNyBAQCB0eXBlZGVmIHN0cnVj dCBBZnRlclRyaWdnZXJTaGFyZWREYXRhCiAJT2lkCQkJYXRzX3JlbGlkOwkJLyogdGhlIHJlbGF0 aW9uIGl0J3Mgb24gKi8KIAlPaWQJCQlhdHNfcm9saWQ7CQkvKiByb2xlIHRvIGV4ZWN1dGUgdGhl IHRyaWdnZXIgKi8KIAlDb21tYW5kSWQJYXRzX2ZpcmluZ19pZDsJLyogSUQgZm9yIGZpcmluZyBj eWNsZSAqLworCUZvclBvcnRpb25PZlN0YXRlICpmb3JfcG9ydGlvbl9vZjsJLyogdGhlIEZPUiBQ T1JUSU9OIE9GIGNsYXVzZSAqLwogCXN0cnVjdCBBZnRlclRyaWdnZXJzVGFibGVEYXRhICphdHNf dGFibGU7CS8qIHRyYW5zaXRpb24gdGFibGUgYWNjZXNzICovCiAJQml0bWFwc2V0ICAqYXRzX21v ZGlmaWVkY29sczsJLyogbW9kaWZpZWQgY29sdW1ucyAqLwogfSBBZnRlclRyaWdnZXJTaGFyZWRE YXRhOwpAQCAtMzk3MCw2ICszOTc5LDcgQEAgc3RhdGljIFNldENvbnN0cmFpbnRTdGF0ZSBTZXRD b25zdHJhaW50U3RhdGVDcmVhdGUoaW50IG51bWFsbG9jKTsKIHN0YXRpYyBTZXRDb25zdHJhaW50 U3RhdGUgU2V0Q29uc3RyYWludFN0YXRlQ29weShTZXRDb25zdHJhaW50U3RhdGUgb3JpZ3N0YXRl KTsKIHN0YXRpYyBTZXRDb25zdHJhaW50U3RhdGUgU2V0Q29uc3RyYWludFN0YXRlQWRkSXRlbShT ZXRDb25zdHJhaW50U3RhdGUgc3RhdGUsCiAJCQkJCQkJCQkJCQkJT2lkIHRnb2lkLCBib29sIHRn aXNkZWZlcnJlZCk7CitzdGF0aWMgRm9yUG9ydGlvbk9mU3RhdGUgKkNvcHlGb3JQb3J0aW9uT2ZT dGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKTsKIHN0YXRpYyB2b2lkIGNhbmNlbF9wcmlvcl9z dG10X3RyaWdnZXJzKE9pZCByZWxpZCwgQ21kVHlwZSBjbWRUeXBlLCBpbnQgdGdldmVudCk7CiAK IApAQCAtNDE3Nyw2ICs0MTg3LDcgQEAgYWZ0ZXJUcmlnZ2VyQWRkRXZlbnQoQWZ0ZXJUcmlnZ2Vy RXZlbnRMaXN0ICpldmVudHMsCiAJCQluZXdzaGFyZWQtPmF0c19ldmVudCA9PSBldnRzaGFyZWQt PmF0c19ldmVudCAmJgogCQkJbmV3c2hhcmVkLT5hdHNfZmlyaW5nX2lkID09IDAgJiYKIAkJCW5l d3NoYXJlZC0+YXRzX3RhYmxlID09IGV2dHNoYXJlZC0+YXRzX3RhYmxlICYmCisJCQluZXdzaGFy ZWQtPmZvcl9wb3J0aW9uX29mID09IGV2dHNoYXJlZC0+Zm9yX3BvcnRpb25fb2YgJiYKIAkJCW5l d3NoYXJlZC0+YXRzX3JlbGlkID09IGV2dHNoYXJlZC0+YXRzX3JlbGlkICYmCiAJCQluZXdzaGFy ZWQtPmF0c19yb2xpZCA9PSBldnRzaGFyZWQtPmF0c19yb2xpZCAmJgogCQkJYm1zX2VxdWFsKG5l d3NoYXJlZC0+YXRzX21vZGlmaWVkY29scywKQEAgLTQ1NTMsNiArNDU2NCw5IEBAIEFmdGVyVHJp Z2dlckV4ZWN1dGUoRVN0YXRlICplc3RhdGUsCiAJTG9jVHJpZ2dlckRhdGEudGdfcmVsYXRpb24g PSByZWw7CiAJaWYgKFRSSUdHRVJfRk9SX1VQREFURShMb2NUcmlnZ2VyRGF0YS50Z190cmlnZ2Vy LT50Z3R5cGUpKQogCQlMb2NUcmlnZ2VyRGF0YS50Z191cGRhdGVkY29scyA9IGV2dHNoYXJlZC0+ YXRzX21vZGlmaWVkY29sczsKKwlpZiAoVFJJR0dFUl9GT1JfVVBEQVRFKExvY1RyaWdnZXJEYXRh LnRnX3RyaWdnZXItPnRndHlwZSkgfHwKKwkJVFJJR0dFUl9GT1JfREVMRVRFKExvY1RyaWdnZXJE YXRhLnRnX3RyaWdnZXItPnRndHlwZSkpCisJCUxvY1RyaWdnZXJEYXRhLnRnX3RlbXBvcmFsID0g ZXZ0c2hhcmVkLT5mb3JfcG9ydGlvbl9vZjsKIAogCU1lbW9yeUNvbnRleHRSZXNldChwZXJfdHVw bGVfY29udGV4dCk7CiAKQEAgLTYxMDIsNiArNjExNiw0MiBAQCBBZnRlclRyaWdnZXJQZW5kaW5n T25SZWwoT2lkIHJlbGlkKQogCXJldHVybiBmYWxzZTsKIH0KIAorLyogLS0tLS0tLS0tLQorICog Rm9yUG9ydGlvbk9mU3RhdGUoKQorICoKKyAqIENvcHlzIGEgRm9yUG9ydGlvbk9mU3RhdGUgaW50 byB0aGUgY3VycmVudCBtZW1vcnkgY29udGV4dC4KKyAqLworc3RhdGljIEZvclBvcnRpb25PZlN0 YXRlICoKK0NvcHlGb3JQb3J0aW9uT2ZTdGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKQorewor CUZvclBvcnRpb25PZlN0YXRlICpkc3QgPSBOVUxMOworCisJaWYgKHNyYykKKwl7CisJCU1lbW9y eUNvbnRleHQgb2xkY3R4OworCQlSYW5nZVR5cGUgICpyOworCQlUeXBlQ2FjaGVFbnRyeSAqdHlw Y2FjaGU7CisKKwkJLyoKKwkJICogTmVlZCB0byBsaWZ0IHRoZSBGT1IgUE9SVElPTiBPRiBkZXRh aWxzIGludG8gYSBoaWdoZXIgbWVtb3J5CisJCSAqIGNvbnRleHQgYmVjYXVzZSBjYXNjYWRpbmcg Zm9yZWlnbiBrZXkgdXBkYXRlL2RlbGV0ZXMgY2FuIGNhdXNlCisJCSAqIHRyaWdnZXJzIHRvIGZp cmUgdHJpZ2dlcnMsIGFuZCB0aGUgQWZ0ZXJUcmlnZ2VyRXZlbnRzIHdpbGwgb3V0bGl2ZQorCQkg KiB0aGUgRlBPIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsIHF1ZXJ5LgorCQkgKi8KKwkJb2xkY3R4 ID0gTWVtb3J5Q29udGV4dFN3aXRjaFRvKFRvcFRyYW5zYWN0aW9uQ29udGV4dCk7CisJCWRzdCA9 IG1ha2VOb2RlKEZvclBvcnRpb25PZlN0YXRlKTsKKwkJZHN0LT5mcF9yYW5nZU5hbWUgPSBwc3Ry ZHVwKHNyYy0+ZnBfcmFuZ2VOYW1lKTsKKwkJZHN0LT5mcF9yYW5nZVR5cGUgPSBzcmMtPmZwX3Jh bmdlVHlwZTsKKwkJZHN0LT5mcF9yYW5nZUF0dG5vID0gc3JjLT5mcF9yYW5nZUF0dG5vOworCisJ CXIgPSBEYXR1bUdldFJhbmdlVHlwZVAoc3JjLT5mcF90YXJnZXRSYW5nZSk7CisJCXR5cGNhY2hl ID0gbG9va3VwX3R5cGVfY2FjaGUoUmFuZ2VUeXBlR2V0T2lkKHIpLCBUWVBFQ0FDSEVfUkFOR0Vf SU5GTyk7CisJCWRzdC0+ZnBfdGFyZ2V0UmFuZ2UgPSBkYXR1bUNvcHkoc3JjLT5mcF90YXJnZXRS YW5nZSwgdHlwY2FjaGUtPnR5cGJ5dmFsLCB0eXBjYWNoZS0+dHlwbGVuKTsKKwkJTWVtb3J5Q29u dGV4dFN3aXRjaFRvKG9sZGN0eCk7CisJfQorCXJldHVybiBkc3Q7Cit9CisKIC8qIC0tLS0tLS0t LS0KICAqIEFmdGVyVHJpZ2dlclNhdmVFdmVudCgpCiAgKgpAQCAtNjUxOCw2ICs2NTY4LDcgQEAg QWZ0ZXJUcmlnZ2VyU2F2ZUV2ZW50KEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxp bmZvLAogCQllbHNlCiAJCQluZXdfc2hhcmVkLmF0c190YWJsZSA9IE5VTEw7CiAJCW5ld19zaGFy ZWQuYXRzX21vZGlmaWVkY29scyA9IG1vZGlmaWVkQ29sczsKKwkJbmV3X3NoYXJlZC5mb3JfcG9y dGlvbl9vZiA9IENvcHlGb3JQb3J0aW9uT2ZTdGF0ZShyZWxpbmZvLT5yaV9mb3JQb3J0aW9uT2Yp OwogCiAJCWFmdGVyVHJpZ2dlckFkZEV2ZW50KCZhZnRlclRyaWdnZXJzLnF1ZXJ5X3N0YWNrW2Fm dGVyVHJpZ2dlcnMucXVlcnlfZGVwdGhdLmV2ZW50cywKIAkJCQkJCQkgJm5ld19ldmVudCwgJm5l d19zaGFyZWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oIGIv c3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCmluZGV4IGNmZDdkYWEyMGVkLi5jNjdlMTMy NDM5MSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCisrKyBiL3Ny Yy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIuaApAQCAtNDEsNiArNDEsNyBAQCB0eXBlZGVmIHN0 cnVjdCBUcmlnZ2VyRGF0YQogCVR1cGxlc3RvcmVzdGF0ZSAqdGdfb2xkdGFibGU7CiAJVHVwbGVz dG9yZXN0YXRlICp0Z19uZXd0YWJsZTsKIAljb25zdCBCaXRtYXBzZXQgKnRnX3VwZGF0ZWRjb2xz OworCUZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbDsKIH0gVHJpZ2dlckRhdGE7CiAKIC8q Ci0tIAoyLjM5LjUKCg== --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0009-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Disposition: attachment; filename="v56-0009-Add-CASCADE-SET-NULL-SET-DEFAULT-for-temporal-fo.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qn8 RnJvbSBmMDhhOGM0OTQzYzIyNWJjNjNjNGVlZTBlZTdlNGJhOWI5MTllZTIyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgMyBKdW4gMjAyMyAyMTo0MToxMSAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggdjU2IDA5LzExXSBBZGQgQ0FTQ0FERS9TRVQgTlVMTC9TRVQgREVGQVVMVCBmb3Ig dGVtcG9yYWwKIGZvcmVpZ24ga2V5cwoKUHJldmlvdXNseSB3ZSByYWlzZWQgYW4gZXJyb3IgZm9y IHRoZXNlIG9wdGlvbnMsIGJlY2F1c2UgdGhlaXIKaW1wbGVtZW50YXRpb25zIHJlcXVpcmUgRk9S IFBPUlRJT04gT0YuIE5vdyB0aGF0IHdlIGhhdmUgdGVtcG9yYWwKVVBEQVRFL0RFTEVURSwgd2Ug Y2FuIGltcGxlbWVudCBmb3JlaWduIGtleXMgdGhhdCB1c2UgaXQuCgpBdXRob3I6IFBhdWwgQS4g SnVuZ3dpcnRoIDxwakBpbGx1bWluYXRlZGNvbXB1dGluZy5jb20+Ci0tLQogZG9jL3NyYy9zZ21s L3JlZi9jcmVhdGVfdGFibGUuc2dtbCAgICAgICAgICAgIHwgICAxNCArLQogZG9jL3NyYy9zZ21s L3RlbXBvcmFsLnNnbWwgICAgICAgICAgICAgICAgICAgIHwgICAgNyArLQogc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMgICAgICAgICAgICAgIHwgICA2NSArLQogc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3JpX3RyaWdnZXJzLmMgICAgICAgICAgIHwgIDYxNyArKysrKystCiBzcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICAgICAgfCAgIDIyICsKIHNyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0ICAgICB8ICAgMTggKy0KIC4uLi9yZWdy ZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0ICAgICB8IDE1OTQgKysrKysrKysrKysr KysrKy0KIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3FsICAgICB8ICA5 MDAgKysrKysrKysrLQogOCBmaWxlcyBjaGFuZ2VkLCAzMTg1IGluc2VydGlvbnMoKyksIDUyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3RhYmxlLnNn bWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCmluZGV4IGRjMDAwZTkxM2Mx Li4zODllOTVhMmE2ZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUu c2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90YWJsZS5zZ21sCkBAIC0xMzE1LDcg KzEzMTUsOSBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgICAgPC9wYXJhPgogCiAg ICAgICAgICA8cGFyYT4KLSAgICAgICAgICBJbiBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGlz IG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgorICAgICAgICAgIEluIGEgdGVtcG9yYWwgZm9yZWln biBrZXksIHRoZSBkZWxldGUvdXBkYXRlIHdpbGwgdXNlCisgICAgICAgICAgPGxpdGVyYWw+Rk9S IFBPUlRJT04gT0Y8L2xpdGVyYWw+IHNlbWFudGljcyB0byBjb25zdHJhaW4gdGhlCisgICAgICAg ICAgZWZmZWN0IHRvIHRoZSBib3VuZHMgYmVpbmcgZGVsZXRlZC91cGRhdGVkIGluIHRoZSByZWZl cmVuY2VkIHJvdy4KICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9saXN0aXRlbT4KICAgICAg ICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTEzMzAsNyArMTMzMiwxMCBAQCBXSVRIICggTU9EVUxVUyA8 cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFsPC9yZXBsYWNlYWJs ZT4sIFJFTQogICAgICAgICAgPC9wYXJhPgogCiAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICBJ biBhIHRlbXBvcmFsIGZvcmVpZ24ga2V5LCB0aGlzIG9wdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgor ICAgICAgICAgIEluIGEgdGVtcG9yYWwgZm9yZWlnbiBrZXksIHRoZSBjaGFuZ2Ugd2lsbCB1c2Ug PGxpdGVyYWw+Rk9SIFBPUlRJT04KKyAgICAgICAgICBPRjwvbGl0ZXJhbD4gc2VtYW50aWNzIHRv IGNvbnN0cmFpbiB0aGUgZWZmZWN0IHRvIHRoZSBib3VuZHMgYmVpbmcKKyAgICAgICAgICBkZWxl dGVkL3VwZGF0ZWQgaW4gdGhlIHJlZmVyZW5jZWQgcm93LiBUaGUgY29sdW1uIG1ha2VkIHdpdGgK KyAgICAgICAgICA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHdpbGwgbm90IGJlIHNldCB0byBu dWxsLgogICAgICAgICAgPC9wYXJhPgogICAgICAgICA8L2xpc3RpdGVtPgogICAgICAgIDwvdmFy bGlzdGVudHJ5PgpAQCAtMTM0Nyw3ICsxMzUyLDEwIEBAIFdJVEggKCBNT0RVTFVTIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwgUkVN CiAgICAgICAgICA8L3BhcmE+CiAKICAgICAgICAgIDxwYXJhPgotICAgICAgICAgIEluIGEgdGVt cG9yYWwgZm9yZWlnbiBrZXksIHRoaXMgb3B0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuCisgICAgICAg ICAgSW4gYSB0ZW1wb3JhbCBmb3JlaWduIGtleSwgdGhlIGNoYW5nZSB3aWxsIHVzZSA8bGl0ZXJh bD5GT1IgUE9SVElPTgorICAgICAgICAgIE9GPC9saXRlcmFsPiBzZW1hbnRpY3MgdG8gY29uc3Ry YWluIHRoZSBlZmZlY3QgdG8gdGhlIGJvdW5kcyBiZWluZworICAgICAgICAgIGRlbGV0ZWQvdXBk YXRlZCBpbiB0aGUgcmVmZXJlbmNlZCByb3cuIFRoZSBjb2x1bW4gbWFya2VkIHdpdGgKKyAgICAg ICAgICA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHdpdGggbm90IGJlIHNldCB0byBhIGRlZmF1 bHQgdmFsdWUuCiAgICAgICAgICA8L3BhcmE+CiAgICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAg PC92YXJsaXN0ZW50cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvdGVtcG9yYWwuc2dtbCBi L2RvYy9zcmMvc2dtbC90ZW1wb3JhbC5zZ21sCmluZGV4IDRjOGZhOTNkOWEwLi45ZDNmM2ZkZGY0 NyAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3RlbXBvcmFsLnNnbWwKKysrIGIvZG9jL3NyYy9z Z21sL3RlbXBvcmFsLnNnbWwKQEAgLTI1Miw5ICsyNTIsMTAgQEAgQUxURVIgVEFCTEUgdmFyaWFu dHMKICAgIDwvcGFyYT4KIAogICAgPHBhcmE+Ci0gICAgPHByb2R1Y3RuYW1lPlBvc3RncmVTUUw8 L3Byb2R1Y3RuYW1lPiBzdXBwb3J0cyA8bGl0ZXJhbD5OTyBBQ1RJT048L2xpdGVyYWw+IHRlbXBv cmFsIGZvcmVpZ24ga2V5cywKLSAgICBidXQgbm90IDxsaXRlcmFsPlJFU1RSSUNUPC9saXRlcmFs PiwgPGxpdGVyYWw+Q0FTQ0FERTwvbGl0ZXJhbD4sIDxsaXRlcmFsPlNFVCBOVUxMPC9saXRlcmFs PiwKLSAgICBvciA8bGl0ZXJhbD5TRVQgREVGQVVMVDwvbGl0ZXJhbD4uCisgICAgPHByb2R1Y3Ru YW1lPlBvc3RncmVTUUw8L3Byb2R1Y3RuYW1lPiBzdXBwb3J0cyA8bGl0ZXJhbD5OTyBBQ1RJT048 L2xpdGVyYWw+CisgICAgPGxpdGVyYWw+Q0FTQ0FERTwvbGl0ZXJhbD4sIDxsaXRlcmFsPlNFVCBO VUxMPC9saXRlcmFsPiwgYW5kCisgICAgPGxpdGVyYWw+U0VUIERFRkFVTFQ8L2xpdGVyYWw+IHRl bXBvcmFsIGZvcmVpZ24ga2V5cywKKyAgICBidXQgbm90IDxsaXRlcmFsPlJFU1RSSUNUPC9saXRl cmFsPi4KICAgIDwvcGFyYT4KICAgPC9zZWN0Mj4KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv Y29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpp bmRleCBkZTBmM2FmNDZjNS4uMTc2MzVlYjhhM2EgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3RhYmxlY21kcy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5j CkBAIC01NjIsNyArNTYyLDcgQEAgc3RhdGljIE9iamVjdEFkZHJlc3MgQVRBZGRGb3JlaWduS2V5 Q29uc3RyYWludChMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICoKIAkJCQkJCQkJCQkJ ICAgUmVsYXRpb24gcmVsLCBDb25zdHJhaW50ICpma2NvbnN0cmFpbnQsCiAJCQkJCQkJCQkJCSAg IGJvb2wgcmVjdXJzZSwgYm9vbCByZWN1cnNpbmcsCiAJCQkJCQkJCQkJCSAgIExPQ0tNT0RFIGxv Y2ttb2RlKTsKLXN0YXRpYyBpbnQJdmFsaWRhdGVGa09uRGVsZXRlU2V0Q29sdW1ucyhpbnQgbnVt ZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLAorc3RhdGljIGludAl2YWxpZGF0ZUZrT25EZWxl dGVTZXRDb2x1bW5zKGludCBudW1ma3MsIGNvbnN0IGludDE2ICpma2F0dG51bXMsIGNvbnN0IGlu dDE2IGZrcGVyaW9kYXR0bnVtLAogCQkJCQkJCQkJCSBpbnQgbnVtZmtzZXRjb2xzLCBpbnQxNiAq ZmtzZXRjb2xzYXR0bnVtcywKIAkJCQkJCQkJCQkgTGlzdCAqZmtzZXRjb2xzKTsKIHN0YXRpYyBP YmplY3RBZGRyZXNzIGFkZEZrQ29uc3RyYWludChhZGRGa0NvbnN0cmFpbnRTaWRlcyBma3NpZGUs CkBAIC0xMDA0OSw2ICsxMDA0OSw3IEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQoTGlzdCAq KndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJaW50MTYJCWZr ZGVsc2V0Y29sc1tJTkRFWF9NQVhfS0VZU10gPSB7MH07CiAJYm9vbAkJd2l0aF9wZXJpb2Q7CiAJ Ym9vbAkJcGtfaGFzX3dpdGhvdXRfb3ZlcmxhcHM7CisJaW50MTYJCWZrcGVyaW9kYXR0bnVtID0g SW52YWxpZEF0dHJOdW1iZXI7CiAJaW50CQkJaTsKIAlpbnQJCQludW1ma3MsCiAJCQkJbnVtcGtz LApAQCAtMTAxMzQsMTUgKzEwMTM1LDIwIEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQoTGlz dCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJCQkJCQkJ CQkgZmtjb25zdHJhaW50LT5ma19hdHRycywKIAkJCQkJCQkJCSBma2F0dG51bSwgZmt0eXBvaWQs IGZrY29sbG9pZCk7CiAJd2l0aF9wZXJpb2QgPSBma2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9k IHx8IGZrY29uc3RyYWludC0+cGtfd2l0aF9wZXJpb2Q7Ci0JaWYgKHdpdGhfcGVyaW9kICYmICFm a2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQotCQllcmVwb3J0KEVSUk9SLAotCQkJCWVycmNv ZGUoRVJSQ09ERV9JTlZBTElEX0ZPUkVJR05fS0VZKSwKLQkJCQllcnJtc2coImZvcmVpZ24ga2V5 IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5j aW5nIHRhYmxlIikpOworCWlmICh3aXRoX3BlcmlvZCkKKwl7CisJCWlmICghZmtjb25zdHJhaW50 LT5ma193aXRoX3BlcmlvZCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNP REVfSU5WQUxJRF9GT1JFSUdOX0tFWSksCisJCQkJCSBlcnJtc2coImZvcmVpZ24ga2V5IHVzZXMg UEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRh YmxlIikpKTsKKwkJZmtwZXJpb2RhdHRudW0gPSBma2F0dG51bVtudW1ma3MgLSAxXTsKKwl9CiAK IAludW1ma2RlbHNldGNvbHMgPSB0cmFuc2Zvcm1Db2x1bW5OYW1lTGlzdChSZWxhdGlvbkdldFJl bGlkKHJlbCksCiAJCQkJCQkJCQkJCSAgZmtjb25zdHJhaW50LT5ma19kZWxfc2V0X2NvbHMsCiAJ CQkJCQkJCQkJCSAgZmtkZWxzZXRjb2xzLCBOVUxMLCBOVUxMKTsKIAludW1ma2RlbHNldGNvbHMg PSB2YWxpZGF0ZUZrT25EZWxldGVTZXRDb2x1bW5zKG51bWZrcywgZmthdHRudW0sCisJCQkJCQkJ CQkJCQkgICBma3BlcmlvZGF0dG51bSwKIAkJCQkJCQkJCQkJCSAgIG51bWZrZGVsc2V0Y29scywK IAkJCQkJCQkJCQkJCSAgIGZrZGVsc2V0Y29scywKIAkJCQkJCQkJCQkJCSAgIGZrY29uc3RyYWlu dC0+ZmtfZGVsX3NldF9jb2xzKTsKQEAgLTEwMjQ0LDE5ICsxMDI1MCwxMyBAQCBBVEFkZEZvcmVp Z25LZXlDb25zdHJhaW50KExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVs YXRpb24gcmVsLAogCSAqLwogCWlmIChma2NvbnN0cmFpbnQtPmZrX3dpdGhfcGVyaW9kKQogCXsK LQkJaWYgKGZrY29uc3RyYWludC0+ZmtfdXBkX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fUkVT VFJJQ1QgfHwKLQkJCWZrY29uc3RyYWludC0+ZmtfdXBkX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJ T05fQ0FTQ0FERSB8fAotCQkJZmtjb25zdHJhaW50LT5ma191cGRfYWN0aW9uID09IEZLQ09OU1RS X0FDVElPTl9TRVROVUxMIHx8Ci0JCQlma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rpb24gPT0gRktD T05TVFJfQUNUSU9OX1NFVERFRkFVTFQpCisJCWlmIChma2NvbnN0cmFpbnQtPmZrX3VwZF9hY3Rp b24gPT0gRktDT05TVFJfQUNUSU9OX1JFU1RSSUNUKQogCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJ ZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCiAJCQkJCWVycm1zZygidW5z dXBwb3J0ZWQgJXMgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklP RCIsCiAJCQkJCQkgICAiT04gVVBEQVRFIikpOwogCi0JCWlmIChma2NvbnN0cmFpbnQtPmZrX2Rl bF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX1JFU1RSSUNUIHx8Ci0JCQlma2NvbnN0cmFpbnQt PmZrX2RlbF9hY3Rpb24gPT0gRktDT05TVFJfQUNUSU9OX0NBU0NBREUgfHwKLQkJCWZrY29uc3Ry YWludC0+ZmtfZGVsX2FjdGlvbiA9PSBGS0NPTlNUUl9BQ1RJT05fU0VUTlVMTCB8fAotCQkJZmtj b25zdHJhaW50LT5ma19kZWxfYWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9TRVRERUZBVUxUKQor CQlpZiAoZmtjb25zdHJhaW50LT5ma19kZWxfYWN0aW9uID09IEZLQ09OU1RSX0FDVElPTl9SRVNU UklDVCkKIAkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCWVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05P VF9TVVBQT1JURUQpLAogCQkJCQllcnJtc2coInVuc3VwcG9ydGVkICVzIGFjdGlvbiBmb3IgZm9y ZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QiLApAQCAtMTA2MTMsNiArMTA2MTMsNyBA QCBBVEFkZEZvcmVpZ25LZXlDb25zdHJhaW50KExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUlu Zm8gKnRhYiwgUmVsYXRpb24gcmVsLAogICovCiBzdGF0aWMgaW50CiB2YWxpZGF0ZUZrT25EZWxl dGVTZXRDb2x1bW5zKGludCBudW1ma3MsIGNvbnN0IGludDE2ICpma2F0dG51bXMsCisJCQkJCQkJ IGNvbnN0IGludDE2IGZrcGVyaW9kYXR0bnVtLAogCQkJCQkJCSBpbnQgbnVtZmtzZXRjb2xzLCBp bnQxNiAqZmtzZXRjb2xzYXR0bnVtcywKIAkJCQkJCQkgTGlzdCAqZmtzZXRjb2xzKQogewpAQCAt MTA2MjYsNiArMTA2MjcsMTQgQEAgdmFsaWRhdGVGa09uRGVsZXRlU2V0Q29sdW1ucyhpbnQgbnVt ZmtzLCBjb25zdCBpbnQxNiAqZmthdHRudW1zLAogCQkvKiBNYWtlIHN1cmUgaXQncyBpbiBma2F0 dG51bXNbXSAqLwogCQlmb3IgKGludCBqID0gMDsgaiA8IG51bWZrczsgaisrKQogCQl7CisJCQlp ZiAoZmtwZXJpb2RhdHRudW0gPT0gc2V0Y29sX2F0dG51bSkKKwkJCXsKKwkJCQljaGFyCSAgICpj b2wgPSBzdHJWYWwobGlzdF9udGgoZmtzZXRjb2xzLCBpKSk7CisKKwkJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX0NPTFVNTl9SRUZFUkVOQ0UpLAorCQkJ CQkJIGVycm1zZygiY29sdW1uIFwiJXNcIiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0 aW9uIGNhbm5vdCBiZSBQRVJJT0QiLCBjb2wpKSk7CisJCQl9CiAJCQlpZiAoZmthdHRudW1zW2pd ID09IHNldGNvbF9hdHRudW0pCiAJCQl7CiAJCQkJc2VlbiA9IHRydWU7CkBAIC0xMzg2NSwxNyAr MTM4NzQsMjYgQEAgY3JlYXRlRm9yZWlnbktleUFjdGlvblRyaWdnZXJzKE9pZCBteVJlbE9pZCwg T2lkIHJlZlJlbE9pZCwgQ29uc3RyYWludCAqZmtjb25zdHIKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJ T05fQ0FTQ0FERToKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3Ry aWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBT eXN0ZW1GdW5jTmFtZSgiUklfRktleV9jYXNjYWRlX2RlbCIpOworCQkJaWYgKGZrY29uc3RyYWlu dC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5j TmFtZSgiUklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwiKTsKKwkJCWVsc2UKKwkJCQlma190cmln Z2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X2Nhc2NhZGVfZGVsIik7CiAJ CQlicmVhazsKIAkJY2FzZSBGS0NPTlNUUl9BQ1RJT05fU0VUTlVMTDoKIAkJCWZrX3RyaWdnZXIt PmRlZmVycmFibGUgPSBmYWxzZTsKIAkJCWZrX3RyaWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNl OwotCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRu dWxsX2RlbCIpOworCQkJaWYgKGZrY29uc3RyYWludC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtf dHJpZ2dlci0+ZnVuY25hbWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9wZXJpb2Rfc2V0bnVs bF9kZWwiKTsKKwkJCWVsc2UKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNO YW1lKCJSSV9GS2V5X3NldG51bGxfZGVsIik7CiAJCQlicmVhazsKIAkJY2FzZSBGS0NPTlNUUl9B Q1RJT05fU0VUREVGQVVMVDoKIAkJCWZrX3RyaWdnZXItPmRlZmVycmFibGUgPSBmYWxzZTsKIAkJ CWZrX3RyaWdnZXItPmluaXRkZWZlcnJlZCA9IGZhbHNlOwotCQkJZmtfdHJpZ2dlci0+ZnVuY25h bWUgPSBTeXN0ZW1GdW5jTmFtZSgiUklfRktleV9zZXRkZWZhdWx0X2RlbCIpOworCQkJaWYgKGZr Y29uc3RyYWludC0+Zmtfd2l0aF9wZXJpb2QpCisJCQkJZmtfdHJpZ2dlci0+ZnVuY25hbWUgPSBT eXN0ZW1GdW5jTmFtZSgiUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwiKTsKKwkJCWVsc2UK KwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3NldGRl ZmF1bHRfZGVsIik7CiAJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2coRVJST1IsICJ1bnJl Y29nbml6ZWQgRksgYWN0aW9uIHR5cGU6ICVkIiwKQEAgLTEzOTI1LDE3ICsxMzk0MywyNiBAQCBj cmVhdGVGb3JlaWduS2V5QWN0aW9uVHJpZ2dlcnMoT2lkIG15UmVsT2lkLCBPaWQgcmVmUmVsT2lk LCBDb25zdHJhaW50ICpma2NvbnN0cgogCQljYXNlIEZLQ09OU1RSX0FDVElPTl9DQVNDQURFOgog CQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+aW5pdGRl ZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1l KCJSSV9GS2V5X2Nhc2NhZGVfdXBkIik7CisJCQlpZiAoZmtjb25zdHJhaW50LT5ma193aXRoX3Bl cmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5 X3BlcmlvZF9jYXNjYWRlX3VwZCIpOworCQkJZWxzZQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1l ID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfY2FzY2FkZV91cGQiKTsKIAkJCWJyZWFrOwogCQlj YXNlIEZLQ09OU1RSX0FDVElPTl9TRVROVUxMOgogCQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9 IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+aW5pdGRlZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmln Z2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3NldG51bGxfdXBkIik7CisJ CQlpZiAoZmtjb25zdHJhaW50LT5ma193aXRoX3BlcmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5j bmFtZSA9IFN5c3RlbUZ1bmNOYW1lKCJSSV9GS2V5X3BlcmlvZF9zZXRudWxsX3VwZCIpOworCQkJ ZWxzZQorCQkJCWZrX3RyaWdnZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlf c2V0bnVsbF91cGQiKTsKIAkJCWJyZWFrOwogCQljYXNlIEZLQ09OU1RSX0FDVElPTl9TRVRERUZB VUxUOgogCQkJZmtfdHJpZ2dlci0+ZGVmZXJyYWJsZSA9IGZhbHNlOwogCQkJZmtfdHJpZ2dlci0+ aW5pdGRlZmVycmVkID0gZmFsc2U7Ci0JCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1 bmNOYW1lKCJSSV9GS2V5X3NldGRlZmF1bHRfdXBkIik7CisJCQlpZiAoZmtjb25zdHJhaW50LT5m a193aXRoX3BlcmlvZCkKKwkJCQlma190cmlnZ2VyLT5mdW5jbmFtZSA9IFN5c3RlbUZ1bmNOYW1l KCJSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X3VwZCIpOworCQkJZWxzZQorCQkJCWZrX3RyaWdn ZXItPmZ1bmNuYW1lID0gU3lzdGVtRnVuY05hbWUoIlJJX0ZLZXlfc2V0ZGVmYXVsdF91cGQiKTsK IAkJCWJyZWFrOwogCQlkZWZhdWx0OgogCQkJZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBGSyBh Y3Rpb24gdHlwZTogJWQiLApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3JpX3Ry aWdnZXJzLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcmlfdHJpZ2dlcnMuYwppbmRleCBmYzhk NTllMGY0Ny4uNGYyZDYyMDExYTcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9y aV90cmlnZ2Vycy5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9yaV90cmlnZ2Vycy5jCkBA IC03OSw2ICs3OSwxMiBAQAogI2RlZmluZSBSSV9QTEFOX1NFVE5VTExfT05VUERBVEUJCTgKICNk ZWZpbmUgUklfUExBTl9TRVRERUZBVUxUX09OREVMRVRFCQk5CiAjZGVmaW5lIFJJX1BMQU5fU0VU REVGQVVMVF9PTlVQREFURQkJMTAKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfQ0FTQ0FERV9PTkRF TEVURQkJMTEKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfQ0FTQ0FERV9PTlVQREFURQkJMTIKKyNk ZWZpbmUgUklfUExBTl9QRVJJT0RfU0VUTlVMTF9PTlVQREFURQkJMTMKKyNkZWZpbmUgUklfUExB Tl9QRVJJT0RfU0VUTlVMTF9PTkRFTEVURQkJMTQKKyNkZWZpbmUgUklfUExBTl9QRVJJT0RfU0VU REVGQVVMVF9PTlVQREFURQkxNQorI2RlZmluZSBSSV9QTEFOX1BFUklPRF9TRVRERUZBVUxUX09O REVMRVRFCTE2CiAKICNkZWZpbmUgTUFYX1FVT1RFRF9OQU1FX0xFTiAgKE5BTUVEQVRBTEVOKjIr MykKICNkZWZpbmUgTUFYX1FVT1RFRF9SRUxfTkFNRV9MRU4gIChNQVhfUVVPVEVEX05BTUVfTEVO KjIpCkBAIC0xOTQsNiArMjAwLDcgQEAgc3RhdGljIGJvb2wgcmlfQ2hlY2tfUGtfTWF0Y2goUmVs YXRpb24gcGtfcmVsLCBSZWxhdGlvbiBma19yZWwsCiAJCQkJCQkJICBjb25zdCBSSV9Db25zdHJh aW50SW5mbyAqcmlpbmZvKTsKIHN0YXRpYyBEYXR1bSByaV9yZXN0cmljdChUcmlnZ2VyRGF0YSAq dHJpZ2RhdGEsIGJvb2wgaXNfbm9fYWN0aW9uKTsKIHN0YXRpYyBEYXR1bSByaV9zZXQoVHJpZ2dl ckRhdGEgKnRyaWdkYXRhLCBib29sIGlzX3NldF9udWxsLCBpbnQgdGdraW5kKTsKK3N0YXRpYyBE YXR1bSB0cmlfc2V0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwgYm9vbCBpc19zZXRfbnVsbCwgaW50 IHRna2luZCk7CiBzdGF0aWMgdm9pZCBxdW90ZU9uZU5hbWUoY2hhciAqYnVmZmVyLCBjb25zdCBj aGFyICpuYW1lKTsKIHN0YXRpYyB2b2lkIHF1b3RlUmVsYXRpb25OYW1lKGNoYXIgKmJ1ZmZlciwg UmVsYXRpb24gcmVsKTsKIHN0YXRpYyB2b2lkIHJpX0dlbmVyYXRlUXVhbChTdHJpbmdJbmZvIGJ1 ZiwKQEAgLTIzMCw2ICsyMzcsNyBAQCBzdGF0aWMgYm9vbCByaV9QZXJmb3JtQ2hlY2soY29uc3Qg UklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKIAkJCQkJCQlSSV9RdWVyeUtleSAqcWtleSwgU1BJ UGxhblB0ciBxcGxhbiwKIAkJCQkJCQlSZWxhdGlvbiBma19yZWwsIFJlbGF0aW9uIHBrX3JlbCwK IAkJCQkJCQlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdCwgVHVwbGVUYWJsZVNsb3QgKm5ld3Nsb3Qs CisJCQkJCQkJaW50IHBlcmlvZFBhcmFtLCBEYXR1bSBwZXJpb2QsCiAJCQkJCQkJYm9vbCBpc19y ZXN0cmljdCwKIAkJCQkJCQlib29sIGRldGVjdE5ld1Jvd3MsIGludCBleHBlY3RfT0spOwogc3Rh dGljIHZvaWQgcmlfRXh0cmFjdFZhbHVlcyhSZWxhdGlvbiByZWwsIFR1cGxlVGFibGVTbG90ICpz bG90LApAQCAtMjM5LDYgKzI0NywxMSBAQCBwZ19ub3JldHVybiBzdGF0aWMgdm9pZCByaV9SZXBv cnRWaW9sYXRpb24oY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKIAkJCQkJCQkJCQkg ICBSZWxhdGlvbiBwa19yZWwsIFJlbGF0aW9uIGZrX3JlbCwKIAkJCQkJCQkJCQkgICBUdXBsZVRh YmxlU2xvdCAqdmlvbGF0b3JzbG90LCBUdXBsZURlc2MgdHVwZGVzYywKIAkJCQkJCQkJCQkgICBp bnQgcXVlcnlubywgYm9vbCBpc19yZXN0cmljdCwgYm9vbCBwYXJ0Z29uZSk7CitzdGF0aWMgYm9v bCBmcG9fdGFyZ2V0c19wa19yYW5nZShjb25zdCBGb3JQb3J0aW9uT2ZTdGF0ZSAqdGdfdGVtcG9y YWwsCisJCQkJCQkJCSBjb25zdCBSSV9Db25zdHJhaW50SW5mbyAqcmlpbmZvKTsKK3N0YXRpYyBE YXR1bSByZXN0cmljdF9lbmZvcmNlZF9yYW5nZShjb25zdCBGb3JQb3J0aW9uT2ZTdGF0ZSAqdGdf dGVtcG9yYWwsCisJCQkJCQkJCQkgY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbywKKwkJ CQkJCQkJCSBUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdCk7CiAKIAogLyoKQEAgLTQ1Miw2ICs0NjUs NyBAQCBSSV9GS2V5X2NoZWNrKFRyaWdnZXJEYXRhICp0cmlnZGF0YSkKIAlyaV9QZXJmb3JtQ2hl Y2socmlpbmZvLCAmcWtleSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJCQlOVUxM LCBuZXdzbG90LAorCQkJCQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJCQkJcGtfcmVs LT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSwKIAkJCQkJU1BJ X09LX1NFTEVDVCk7CkBAIC02MTcsNiArNjMxLDcgQEAgcmlfQ2hlY2tfUGtfTWF0Y2goUmVsYXRp b24gcGtfcmVsLCBSZWxhdGlvbiBma19yZWwsCiAJcmVzdWx0ID0gcmlfUGVyZm9ybUNoZWNrKHJp aW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQkJCSBma19yZWwsIHBrX3JlbCwKIAkJCQkJCQkgb2xk c2xvdCwgTlVMTCwKKwkJCQkJCQkgLTEsIChEYXR1bSkgMCwKIAkJCQkJCQkgZmFsc2UsCiAJCQkJ CQkJIHRydWUsCS8qIHRyZWF0IGxpa2UgdXBkYXRlICovCiAJCQkJCQkJIFNQSV9PS19TRUxFQ1Qp OwpAQCAtODkzLDYgKzkwOCw3IEBAIHJpX3Jlc3RyaWN0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwg Ym9vbCBpc19ub19hY3Rpb24pCiAJcmlfUGVyZm9ybUNoZWNrKHJpaW5mbywgJnFrZXksIHFwbGFu LAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJb2xkc2xvdCwgTlVMTCwKKwkJCQkJLTEsIChE YXR1bSkgMCwKIAkJCQkJIWlzX25vX2FjdGlvbiwKIAkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0 IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19TRUxFQ1QpOwpAQCAtOTk1LDYgKzEwMTEsNyBAQCBS SV9GS2V5X2Nhc2NhZGVfZGVsKFBHX0ZVTkNUSU9OX0FSR1MpCiAJcmlfUGVyZm9ybUNoZWNrKHJp aW5mbywgJnFrZXksIHFwbGFuLAogCQkJCQlma19yZWwsIHBrX3JlbCwKIAkJCQkJb2xkc2xvdCwg TlVMTCwKKwkJCQkJLTEsIChEYXR1bSkgMCwKIAkJCQkJZmFsc2UsCiAJCQkJCXRydWUsCQkvKiBt dXN0IGRldGVjdCBuZXcgcm93cyAqLwogCQkJCQlTUElfT0tfREVMRVRFKTsKQEAgLTExMTIsNiAr MTEyOSw3IEBAIFJJX0ZLZXlfY2FzY2FkZV91cGQoUEdfRlVOQ1RJT05fQVJHUykKIAlyaV9QZXJm b3JtQ2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJ CQlvbGRzbG90LCBuZXdzbG90LAorCQkJCQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJ CQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19VUERBVEUp OwpAQCAtMTM0MCw2ICsxMzU4LDcgQEAgcmlfc2V0KFRyaWdnZXJEYXRhICp0cmlnZGF0YSwgYm9v bCBpc19zZXRfbnVsbCwgaW50IHRna2luZCkKIAlyaV9QZXJmb3JtQ2hlY2socmlpbmZvLCAmcWtl eSwgcXBsYW4sCiAJCQkJCWZrX3JlbCwgcGtfcmVsLAogCQkJCQlvbGRzbG90LCBOVUxMLAorCQkJ CQktMSwgKERhdHVtKSAwLAogCQkJCQlmYWxzZSwKIAkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0 IG5ldyByb3dzICovCiAJCQkJCVNQSV9PS19VUERBVEUpOwpAQCAtMTM3MSw2ICsxMzkwLDU0MCBA QCByaV9zZXQoVHJpZ2dlckRhdGEgKnRyaWdkYXRhLCBib29sIGlzX3NldF9udWxsLCBpbnQgdGdr aW5kKQogfQogCiAKKy8qCisgKiBSSV9GS2V5X3BlcmlvZF9jYXNjYWRlX2RlbCAtCisgKgorICog Q2FzY2FkZWQgZGVsZXRlIGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMgYXQgZGVsZXRlIGV2ZW50IG9u IHRlbXBvcmFsIFBLIHRhYmxlLgorICovCitEYXR1bQorUklfRktleV9wZXJpb2RfY2FzY2FkZV9k ZWwoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEgPSAoVHJpZ2dl ckRhdGEgKikgZmNpbmZvLT5jb250ZXh0OworCWNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWlu Zm87CisJUmVsYXRpb24JZmtfcmVsOworCVJlbGF0aW9uCXBrX3JlbDsKKwlUdXBsZVRhYmxlU2xv dCAqb2xkc2xvdDsKKwlSSV9RdWVyeUtleSBxa2V5OworCVNQSVBsYW5QdHIJcXBsYW47CisJRGF0 dW0JCXRhcmdldFJhbmdlOworCisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dl ciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIo ZmNpbmZvLCAiUklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwiLCBSSV9UUklHVFlQRV9ERUxFVEUp OworCisJcmlpbmZvID0gcmlfRmV0Y2hDb25zdHJhaW50SW5mbyh0cmlnZGF0YS0+dGdfdHJpZ2dl ciwKKwkJCQkJCQkJCXRyaWdkYXRhLT50Z19yZWxhdGlvbiwgdHJ1ZSk7CisKKwkvKgorCSAqIEdl dCB0aGUgcmVsYXRpb24gZGVzY3JpcHRvcnMgb2YgdGhlIEZLIGFuZCBQSyB0YWJsZXMgYW5kIHRo ZSBvbGQgdHVwbGUuCisJICoKKwkgKiBma19yZWwgaXMgb3BlbmVkIGluIFJvd0V4Y2x1c2l2ZUxv Y2sgbW9kZSBzaW5jZSB0aGF0J3Mgd2hhdCBvdXIKKwkgKiBldmVudHVhbCBERUxFVEUgd2lsbCBn ZXQgb24gaXQuCisJICovCisJZmtfcmVsID0gdGFibGVfb3BlbihyaWluZm8tPmZrX3JlbGlkLCBS b3dFeGNsdXNpdmVMb2NrKTsKKwlwa19yZWwgPSB0cmlnZGF0YS0+dGdfcmVsYXRpb247CisJb2xk c2xvdCA9IHRyaWdkYXRhLT50Z190cmlnc2xvdDsKKworCS8qCisJICogRG9uJ3QgZGVsZXRlIHRo YW4gbW9yZSB0aGFuIHRoZSBQSydzIGR1cmF0aW9uLCB0cmltbWVkIGJ5IGFuIG9yaWdpbmFsCisJ ICogRk9SIFBPUlRJT04gT0YgaWYgbmVjZXNzYXJ5LgorCSAqLworCXRhcmdldFJhbmdlID0gcmVz dHJpY3RfZW5mb3JjZWRfcmFuZ2UodHJpZ2RhdGEtPnRnX3RlbXBvcmFsLCByaWluZm8sIG9sZHNs b3QpOworCisJaWYgKFNQSV9jb25uZWN0KCkgIT0gU1BJX09LX0NPTk5FQ1QpCisJCWVsb2coRVJS T1IsICJTUElfY29ubmVjdCBmYWlsZWQiKTsKKworCS8qIEZldGNoIG9yIHByZXBhcmUgYSBzYXZl ZCBwbGFuIGZvciB0aGUgY2FzY2FkZWQgZGVsZXRlICovCisJcmlfQnVpbGRRdWVyeUtleSgmcWtl eSwgcmlpbmZvLCBSSV9QTEFOX1BFUklPRF9DQVNDQURFX09OREVMRVRFKTsKKworCWlmICgocXBs YW4gPSByaV9GZXRjaFByZXBhcmVkUGxhbigmcWtleSkpID09IE5VTEwpCisJeworCQlTdHJpbmdJ bmZvRGF0YSBxdWVyeWJ1ZjsKKwkJY2hhcgkJZmtyZWxuYW1lW01BWF9RVU9URURfUkVMX05BTUVf TEVOXTsKKwkJY2hhcgkJYXR0bmFtZVtNQVhfUVVPVEVEX05BTUVfTEVOXTsKKwkJY2hhcgkJcGFy YW1uYW1lWzE2XTsKKwkJY29uc3QgY2hhciAqcXVlcnlzZXA7CisJCU9pZAkJCXF1ZXJ5b2lkc1tS SV9NQVhfTlVNS0VZUyArIDFdOworCQljb25zdCBjaGFyICpma19vbmx5OworCisJCS8qIC0tLS0t LS0tLS0KKwkJICogVGhlIHF1ZXJ5IHN0cmluZyBidWlsdCBpcworCQkgKiAgREVMRVRFIEZST00g W09OTFldIDxma3RhYmxlPgorCQkgKiAgRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgke24rMX0pCisJ CSAqICBXSEVSRSAkMSA9IGZrYXR0MSBbQU5EIC4uLl0KKwkJICogVGhlIHR5cGUgaWQncyBmb3Ig dGhlICQgcGFyYW1ldGVycyBhcmUgdGhvc2Ugb2YgdGhlCisJCSAqIGNvcnJlc3BvbmRpbmcgUEsg YXR0cmlidXRlcy4KKwkJICogLS0tLS0tLS0tLQorCQkgKi8KKwkJaW5pdFN0cmluZ0luZm8oJnF1 ZXJ5YnVmKTsKKwkJZmtfb25seSA9IGZrX3JlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRf UEFSVElUSU9ORURfVEFCTEUgPworCQkJIiIgOiAiT05MWSAiOworCQlxdW90ZVJlbGF0aW9uTmFt ZShma3JlbG5hbWUsIGZrX3JlbCk7CisJCXF1b3RlT25lTmFtZShhdHRuYW1lLCBSSUF0dE5hbWUo ZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdKSk7CisKKwkJYXBw ZW5kU3RyaW5nSW5mbygmcXVlcnlidWYsICJERUxFVEUgRlJPTSAlcyVzIEZPUiBQT1JUSU9OIE9G ICVzICgkJWQpIiwKKwkJCQkJCSBma19vbmx5LCBma3JlbG5hbWUsIGF0dG5hbWUsIHJpaW5mby0+ bmtleXMgKyAxKTsKKwkJcXVlcnlzZXAgPSAiV0hFUkUiOworCQlmb3IgKGludCBpID0gMDsgaSA8 IHJpaW5mby0+bmtleXM7IGkrKykKKwkJeworCQkJT2lkCQkJcGtfdHlwZSA9IFJJQXR0VHlwZShw a19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlwa19jb2xsID0gUklBdHRD b2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJZmtfdHlw ZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlm a19jb2xsID0gUklBdHRDb2xsYXRpb24oZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNbaV0pOwor CisJCQlxdW90ZU9uZU5hbWUoYXR0bmFtZSwKKwkJCQkJCSBSSUF0dE5hbWUoZmtfcmVsLCByaWlu Zm8tPmZrX2F0dG51bXNbaV0pKTsKKwkJCXNwcmludGYocGFyYW1uYW1lLCAiJCVkIiwgaSArIDEp OworCQkJcmlfR2VuZXJhdGVRdWFsKCZxdWVyeWJ1ZiwgcXVlcnlzZXAsCisJCQkJCQkJcGFyYW1u YW1lLCBwa190eXBlLAorCQkJCQkJCXJpaW5mby0+cGZfZXFfb3Byc1tpXSwKKwkJCQkJCQlhdHRu YW1lLCBma190eXBlKTsKKwkJCWlmIChwa19jb2xsICE9IGZrX2NvbGwgJiYgIWdldF9jb2xsYXRp b25faXNkZXRlcm1pbmlzdGljKHBrX2NvbGwpKQorCQkJCXJpX0dlbmVyYXRlUXVhbENvbGxhdGlv bigmcXVlcnlidWYsIHBrX2NvbGwpOworCQkJcXVlcnlzZXAgPSAiQU5EIjsKKwkJCXF1ZXJ5b2lk c1tpXSA9IHBrX3R5cGU7CisJCX0KKworCQkvKiBTZXQgYSBwYXJhbSBmb3IgRk9SIFBPUlRJT04g T0YgVE8vRlJPTSAqLworCQlxdWVyeW9pZHNbcmlpbmZvLT5ua2V5c10gPSBSSUF0dFR5cGUocGtf cmVsLCByaWluZm8tPnBrX2F0dG51bXNbcmlpbmZvLT5ua2V5cyAtIDFdKTsKKworCQkvKiBQcmVw YXJlIGFuZCBzYXZlIHRoZSBwbGFuICovCisJCXFwbGFuID0gcmlfUGxhbkNoZWNrKHF1ZXJ5YnVm LmRhdGEsIHJpaW5mby0+bmtleXMgKyAxLCBxdWVyeW9pZHMsCisJCQkJCQkJICZxa2V5LCBma19y ZWwsIHBrX3JlbCk7CisJfQorCisJLyoKKwkgKiBXZSBoYXZlIGEgcGxhbiBub3cuIEJ1aWxkIHVw IHRoZSBhcmd1bWVudHMgZnJvbSB0aGUga2V5IHZhbHVlcyBpbiB0aGUKKwkgKiBkZWxldGVkIFBL IHR1cGxlIGFuZCBkZWxldGUgdGhlIHJlZmVyZW5jaW5nIHJvd3MKKwkgKi8KKwlyaV9QZXJmb3Jt Q2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCisJCQkJCWZrX3JlbCwgcGtfcmVsLAorCQkJCQlv bGRzbG90LCBOVUxMLAorCQkJCQlyaWluZm8tPm5rZXlzICsgMSwgdGFyZ2V0UmFuZ2UsCisJCQkJ CWZhbHNlLAorCQkJCQl0cnVlLAkJLyogbXVzdCBkZXRlY3QgbmV3IHJvd3MgKi8KKwkJCQkJU1BJ X09LX0RFTEVURSk7CisKKwlpZiAoU1BJX2ZpbmlzaCgpICE9IFNQSV9PS19GSU5JU0gpCisJCWVs b2coRVJST1IsICJTUElfZmluaXNoIGZhaWxlZCIpOworCisJdGFibGVfY2xvc2UoZmtfcmVsLCBS b3dFeGNsdXNpdmVMb2NrKTsKKworCXJldHVybiBQb2ludGVyR2V0RGF0dW0oTlVMTCk7Cit9CisK Ky8qCisgKiBSSV9GS2V5X3BlcmlvZF9jYXNjYWRlX3VwZCAtCisgKgorICogQ2FzY2FkZWQgdXBk YXRlIGZvcmVpZ24ga2V5IHJlZmVyZW5jZXMgYXQgdXBkYXRlIGV2ZW50IG9uIHRlbXBvcmFsIFBL IHRhYmxlLgorICovCitEYXR1bQorUklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQoUEdfRlVOQ1RJ T05fQVJHUykKK3sKKwlUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEgPSAoVHJpZ2dlckRhdGEgKikgZmNp bmZvLT5jb250ZXh0OworCWNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm87CisJUmVsYXRp b24JZmtfcmVsOworCVJlbGF0aW9uCXBrX3JlbDsKKwlUdXBsZVRhYmxlU2xvdCAqb2xkc2xvdDsK KwlUdXBsZVRhYmxlU2xvdCAqbmV3c2xvdDsKKwlSSV9RdWVyeUtleSBxa2V5OworCVNQSVBsYW5Q dHIJcXBsYW47CisJRGF0dW0JCXRhcmdldFJhbmdlOworCisJLyogQ2hlY2sgdGhhdCB0aGlzIGlz IGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwly aV9DaGVja1RyaWdnZXIoZmNpbmZvLCAiUklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQiLCBSSV9U UklHVFlQRV9VUERBVEUpOworCisJcmlpbmZvID0gcmlfRmV0Y2hDb25zdHJhaW50SW5mbyh0cmln ZGF0YS0+dGdfdHJpZ2dlciwKKwkJCQkJCQkJCXRyaWdkYXRhLT50Z19yZWxhdGlvbiwgdHJ1ZSk7 CisKKwkvKgorCSAqIEdldCB0aGUgcmVsYXRpb24gZGVzY3JpcHRvcnMgb2YgdGhlIEZLIGFuZCBQ SyB0YWJsZXMgYW5kIHRoZSBuZXcgYW5kCisJICogb2xkIHR1cGxlLgorCSAqCisJICogZmtfcmVs IGlzIG9wZW5lZCBpbiBSb3dFeGNsdXNpdmVMb2NrIG1vZGUgc2luY2UgdGhhdCdzIHdoYXQgb3Vy CisJICogZXZlbnR1YWwgVVBEQVRFIHdpbGwgZ2V0IG9uIGl0LgorCSAqLworCWZrX3JlbCA9IHRh YmxlX29wZW4ocmlpbmZvLT5ma19yZWxpZCwgUm93RXhjbHVzaXZlTG9jayk7CisJcGtfcmVsID0g dHJpZ2RhdGEtPnRnX3JlbGF0aW9uOworCW5ld3Nsb3QgPSB0cmlnZGF0YS0+dGdfbmV3c2xvdDsK KwlvbGRzbG90ID0gdHJpZ2RhdGEtPnRnX3RyaWdzbG90OworCisJLyoKKwkgKiBEb24ndCBkZWxl dGUgdGhhbiBtb3JlIHRoYW4gdGhlIFBLJ3MgZHVyYXRpb24sIHRyaW1tZWQgYnkgYW4gb3JpZ2lu YWwKKwkgKiBGT1IgUE9SVElPTiBPRiBpZiBuZWNlc3NhcnkuCisJICovCisJdGFyZ2V0UmFuZ2Ug PSByZXN0cmljdF9lbmZvcmNlZF9yYW5nZSh0cmlnZGF0YS0+dGdfdGVtcG9yYWwsIHJpaW5mbywg b2xkc2xvdCk7CisKKwlpZiAoU1BJX2Nvbm5lY3QoKSAhPSBTUElfT0tfQ09OTkVDVCkKKwkJZWxv ZyhFUlJPUiwgIlNQSV9jb25uZWN0IGZhaWxlZCIpOworCisJLyogRmV0Y2ggb3IgcHJlcGFyZSBh IHNhdmVkIHBsYW4gZm9yIHRoZSBjYXNjYWRlZCB1cGRhdGUgKi8KKwlyaV9CdWlsZFF1ZXJ5S2V5 KCZxa2V5LCByaWluZm8sIFJJX1BMQU5fUEVSSU9EX0NBU0NBREVfT05VUERBVEUpOworCisJaWYg KChxcGxhbiA9IHJpX0ZldGNoUHJlcGFyZWRQbGFuKCZxa2V5KSkgPT0gTlVMTCkKKwl7CisJCVN0 cmluZ0luZm9EYXRhIHF1ZXJ5YnVmOworCQlTdHJpbmdJbmZvRGF0YSBxdWFsYnVmOworCQljaGFy CQlma3JlbG5hbWVbTUFYX1FVT1RFRF9SRUxfTkFNRV9MRU5dOworCQljaGFyCQlhdHRuYW1lW01B WF9RVU9URURfTkFNRV9MRU5dOworCQljaGFyCQlwYXJhbW5hbWVbMTZdOworCQljb25zdCBjaGFy ICpxdWVyeXNlcDsKKwkJY29uc3QgY2hhciAqcXVhbHNlcDsKKwkJT2lkCQkJcXVlcnlvaWRzWzIg KiBSSV9NQVhfTlVNS0VZUyArIDFdOworCQljb25zdCBjaGFyICpma19vbmx5OworCisJCS8qIC0t LS0tLS0tLS0KKwkJICogVGhlIHF1ZXJ5IHN0cmluZyBidWlsdCBpcworCQkgKiAgVVBEQVRFIFtP TkxZXSA8Zmt0YWJsZT4KKwkJICoJCSAgRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgkezJuKzF9KQor CQkgKgkJICBTRVQgZmthdHQxID0gJDEsIFssIC4uLl0KKwkJICoJCSAgV0hFUkUgJG4gPSBma2F0 dDEgW0FORCAuLi5dCisJCSAqIFRoZSB0eXBlIGlkJ3MgZm9yIHRoZSAkIHBhcmFtZXRlcnMgYXJl IHRob3NlIG9mIHRoZQorCQkgKiBjb3JyZXNwb25kaW5nIFBLIGF0dHJpYnV0ZXMuICBOb3RlIHRo YXQgd2UgYXJlIGFzc3VtaW5nCisJCSAqIHRoZXJlIGlzIGFuIGFzc2lnbm1lbnQgY2FzdCBmcm9t IHRoZSBQSyB0byB0aGUgRksgdHlwZTsKKwkJICogZWxzZSB0aGUgcGFyc2VyIHdpbGwgZmFpbC4K KwkJICogLS0tLS0tLS0tLQorCQkgKi8KKwkJaW5pdFN0cmluZ0luZm8oJnF1ZXJ5YnVmKTsKKwkJ aW5pdFN0cmluZ0luZm8oJnF1YWxidWYpOworCQlma19vbmx5ID0gZmtfcmVsLT5yZF9yZWwtPnJl bGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSA/CisJCQkiIiA6ICJPTkxZICI7CisJ CXF1b3RlUmVsYXRpb25OYW1lKGZrcmVsbmFtZSwgZmtfcmVsKTsKKwkJcXVvdGVPbmVOYW1lKGF0 dG5hbWUsIFJJQXR0TmFtZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tyaWluZm8tPm5rZXlz IC0gMV0pKTsKKworCQlhcHBlbmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwgIlVQREFURSAlcyVzIEZP UiBQT1JUSU9OIE9GICVzICgkJWQpIFNFVCIsCisJCQkJCQkgZmtfb25seSwgZmtyZWxuYW1lLCBh dHRuYW1lLCAyICogcmlpbmZvLT5ua2V5cyArIDEpOworCisJCXF1ZXJ5c2VwID0gIiI7CisJCXF1 YWxzZXAgPSAiV0hFUkUiOworCQlmb3IgKGludCBpID0gMCwgaiA9IHJpaW5mby0+bmtleXM7IGkg PCByaWluZm8tPm5rZXlzOyBpKyssIGorKykKKwkJeworCQkJT2lkCQkJcGtfdHlwZSA9IFJJQXR0 VHlwZShwa19yZWwsIHJpaW5mby0+cGtfYXR0bnVtc1tpXSk7CisJCQlPaWQJCQlwa19jb2xsID0g UklBdHRDb2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJ ZmtfdHlwZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlP aWQJCQlma19jb2xsID0gUklBdHRDb2xsYXRpb24oZmtfcmVsLCByaWluZm8tPmZrX2F0dG51bXNb aV0pOworCisJCQlxdW90ZU9uZU5hbWUoYXR0bmFtZSwKKwkJCQkJCSBSSUF0dE5hbWUoZmtfcmVs LCByaWluZm8tPmZrX2F0dG51bXNbaV0pKTsKKworCQkJLyoKKwkJCSAqIERvbid0IHNldCB0aGUg dGVtcG9yYWwgY29sdW1uKHMpLiBGT1IgUE9SVElPTiBPRiB3aWxsIHRha2UgY2FyZQorCQkJICog b2YgdGhhdC4KKwkJCSAqLworCQkJaWYgKGkgPCByaWluZm8tPm5rZXlzIC0gMSkKKwkJCQlhcHBl bmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwKKwkJCQkJCQkJICIlcyAlcyA9ICQlZCIsCisJCQkJCQkJ CSBxdWVyeXNlcCwgYXR0bmFtZSwgaSArIDEpOworCisJCQlzcHJpbnRmKHBhcmFtbmFtZSwgIiQl ZCIsIGogKyAxKTsKKwkJCXJpX0dlbmVyYXRlUXVhbCgmcXVhbGJ1ZiwgcXVhbHNlcCwKKwkJCQkJ CQlwYXJhbW5hbWUsIHBrX3R5cGUsCisJCQkJCQkJcmlpbmZvLT5wZl9lcV9vcHJzW2ldLAorCQkJ CQkJCWF0dG5hbWUsIGZrX3R5cGUpOworCQkJaWYgKHBrX2NvbGwgIT0gZmtfY29sbCAmJiAhZ2V0 X2NvbGxhdGlvbl9pc2RldGVybWluaXN0aWMocGtfY29sbCkpCisJCQkJcmlfR2VuZXJhdGVRdWFs Q29sbGF0aW9uKCZxdWVyeWJ1ZiwgcGtfY29sbCk7CisJCQlxdWVyeXNlcCA9ICIsIjsKKwkJCXF1 YWxzZXAgPSAiQU5EIjsKKwkJCXF1ZXJ5b2lkc1tpXSA9IHBrX3R5cGU7CisJCQlxdWVyeW9pZHNb al0gPSBwa190eXBlOworCQl9CisJCWFwcGVuZEJpbmFyeVN0cmluZ0luZm8oJnF1ZXJ5YnVmLCBx dWFsYnVmLmRhdGEsIHF1YWxidWYubGVuKTsKKworCQkvKiBTZXQgYSBwYXJhbSBmb3IgRk9SIFBP UlRJT04gT0YgVE8vRlJPTSAqLworCQlxdWVyeW9pZHNbMiAqIHJpaW5mby0+bmtleXNdID0gUklB dHRUeXBlKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSk7CisK KwkJLyogUHJlcGFyZSBhbmQgc2F2ZSB0aGUgcGxhbiAqLworCQlxcGxhbiA9IHJpX1BsYW5DaGVj ayhxdWVyeWJ1Zi5kYXRhLCAyICogcmlpbmZvLT5ua2V5cyArIDEsIHF1ZXJ5b2lkcywKKwkJCQkJ CQkgJnFrZXksIGZrX3JlbCwgcGtfcmVsKTsKKwl9CisKKwkvKgorCSAqIFdlIGhhdmUgYSBwbGFu IG5vdy4gUnVuIGl0IHRvIHVwZGF0ZSB0aGUgZXhpc3RpbmcgcmVmZXJlbmNlcy4KKwkgKi8KKwly aV9QZXJmb3JtQ2hlY2socmlpbmZvLCAmcWtleSwgcXBsYW4sCisJCQkJCWZrX3JlbCwgcGtfcmVs LAorCQkJCQlvbGRzbG90LCBuZXdzbG90LAorCQkJCQlyaWluZm8tPm5rZXlzICogMiArIDEsIHRh cmdldFJhbmdlLAorCQkJCQlmYWxzZSwKKwkJCQkJdHJ1ZSwJCS8qIG11c3QgZGV0ZWN0IG5ldyBy b3dzICovCisJCQkJCVNQSV9PS19VUERBVEUpOworCisJaWYgKFNQSV9maW5pc2goKSAhPSBTUElf T0tfRklOSVNIKQorCQllbG9nKEVSUk9SLCAiU1BJX2ZpbmlzaCBmYWlsZWQiKTsKKworCXRhYmxl X2Nsb3NlKGZrX3JlbCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gUG9pbnRlckdldERh dHVtKE5VTEwpOworfQorCisvKgorICogUklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwgLQorICoK KyAqIFNldCBmb3JlaWduIGtleSByZWZlcmVuY2VzIHRvIE5VTEwgdmFsdWVzIGF0IGRlbGV0ZSBl dmVudCBvbiBQSyB0YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVs KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJp Z2dlciBjYWxsIG9uIHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdn ZXIoZmNpbmZvLCAiUklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwiLCBSSV9UUklHVFlQRV9ERUxF VEUpOworCisJLyogU2hhcmUgY29kZSB3aXRoIFVQREFURSBjYXNlICovCisJcmV0dXJuIHRyaV9z ZXQoKFRyaWdnZXJEYXRhICopIGZjaW5mby0+Y29udGV4dCwgdHJ1ZSwgUklfVFJJR1RZUEVfREVM RVRFKTsKK30KKworLyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkIC0KKyAqCisgKiBT ZXQgZm9yZWlnbiBrZXkgcmVmZXJlbmNlcyB0byBOVUxMIGF0IHVwZGF0ZSBldmVudCBvbiBQSyB0 YWJsZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9u IHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIoZmNpbmZvLCAi UklfRktleV9wZXJpb2Rfc2V0bnVsbF91cGQiLCBSSV9UUklHVFlQRV9VUERBVEUpOworCisJLyog U2hhcmUgY29kZSB3aXRoIERFTEVURSBjYXNlICovCisJcmV0dXJuIHRyaV9zZXQoKFRyaWdnZXJE YXRhICopIGZjaW5mby0+Y29udGV4dCwgdHJ1ZSwgUklfVFJJR1RZUEVfVVBEQVRFKTsKK30KKwor LyoKKyAqIFJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsIC0KKyAqCisgKiBTZXQgZm9yZWln biBrZXkgcmVmZXJlbmNlcyB0byBkZWZhdWx0cyBhdCBkZWxldGUgZXZlbnQgb24gUEsgdGFibGUu CisgKi8KK0RhdHVtCitSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbChQR19GVU5DVElPTl9B UkdTKQoreworCS8qIENoZWNrIHRoYXQgdGhpcyBpcyBhIHZhbGlkIHRyaWdnZXIgY2FsbCBvbiB0 aGUgcmlnaHQgdGltZSBhbmQgZXZlbnQuICovCisJcmlfQ2hlY2tUcmlnZ2VyKGZjaW5mbywgIlJJ X0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsIiwgUklfVFJJR1RZUEVfREVMRVRFKTsKKworCS8q IFNoYXJlIGNvZGUgd2l0aCBVUERBVEUgY2FzZSAqLworCXJldHVybiB0cmlfc2V0KChUcmlnZ2Vy RGF0YSAqKSBmY2luZm8tPmNvbnRleHQsIGZhbHNlLCBSSV9UUklHVFlQRV9ERUxFVEUpOworfQor CisvKgorICogUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF91cGQgLQorICoKKyAqIFNldCBmb3Jl aWduIGtleSByZWZlcmVuY2VzIHRvIGRlZmF1bHRzIGF0IHVwZGF0ZSBldmVudCBvbiBQSyB0YWJs ZS4KKyAqLworRGF0dW0KK1JJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfdXBkKFBHX0ZVTkNUSU9O X0FSR1MpCit7CisJLyogQ2hlY2sgdGhhdCB0aGlzIGlzIGEgdmFsaWQgdHJpZ2dlciBjYWxsIG9u IHRoZSByaWdodCB0aW1lIGFuZCBldmVudC4gKi8KKwlyaV9DaGVja1RyaWdnZXIoZmNpbmZvLCAi UklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF91cGQiLCBSSV9UUklHVFlQRV9VUERBVEUpOworCisJ LyogU2hhcmUgY29kZSB3aXRoIERFTEVURSBjYXNlICovCisJcmV0dXJuIHRyaV9zZXQoKFRyaWdn ZXJEYXRhICopIGZjaW5mby0+Y29udGV4dCwgZmFsc2UsIFJJX1RSSUdUWVBFX1VQREFURSk7Cit9 CisKKy8qCisgKiB0cmlfc2V0IC0KKyAqCisgKiBDb21tb24gY29kZSBmb3IgdGVtcG9yYWwgT04g REVMRVRFIFNFVCBOVUxMLCBPTiBERUxFVEUgU0VUIERFRkFVTFQsIE9OCisgKiBVUERBVEUgU0VU IE5VTEwsIGFuZCBPTiBVUERBVEUgU0VUIERFRkFVTFQuCisgKi8KK3N0YXRpYyBEYXR1bQordHJp X3NldChUcmlnZ2VyRGF0YSAqdHJpZ2RhdGEsIGJvb2wgaXNfc2V0X251bGwsIGludCB0Z2tpbmQp Cit7CisJY29uc3QgUklfQ29uc3RyYWludEluZm8gKnJpaW5mbzsKKwlSZWxhdGlvbglma19yZWw7 CisJUmVsYXRpb24JcGtfcmVsOworCVR1cGxlVGFibGVTbG90ICpvbGRzbG90OworCVJJX1F1ZXJ5 S2V5IHFrZXk7CisJU1BJUGxhblB0cglxcGxhbjsKKwlEYXR1bQkJdGFyZ2V0UmFuZ2U7CisJaW50 MzIJCXF1ZXJ5bm87CisKKwlyaWluZm8gPSByaV9GZXRjaENvbnN0cmFpbnRJbmZvKHRyaWdkYXRh LT50Z190cmlnZ2VyLAorCQkJCQkJCQkJdHJpZ2RhdGEtPnRnX3JlbGF0aW9uLCB0cnVlKTsKKwor CS8qCisJICogR2V0IHRoZSByZWxhdGlvbiBkZXNjcmlwdG9ycyBvZiB0aGUgRksgYW5kIFBLIHRh YmxlcyBhbmQgdGhlIG9sZCB0dXBsZS4KKwkgKgorCSAqIGZrX3JlbCBpcyBvcGVuZWQgaW4gUm93 RXhjbHVzaXZlTG9jayBtb2RlIHNpbmNlIHRoYXQncyB3aGF0IG91cgorCSAqIGV2ZW50dWFsIFVQ REFURSB3aWxsIGdldCBvbiBpdC4KKwkgKi8KKwlma19yZWwgPSB0YWJsZV9vcGVuKHJpaW5mby0+ ZmtfcmVsaWQsIFJvd0V4Y2x1c2l2ZUxvY2spOworCXBrX3JlbCA9IHRyaWdkYXRhLT50Z19yZWxh dGlvbjsKKwlvbGRzbG90ID0gdHJpZ2RhdGEtPnRnX3RyaWdzbG90OworCisJLyoKKwkgKiBEb24n dCBTRVQgTlVMTC9ERUZBVUxUIG1vcmUgdGhhbiB0aGUgUEsncyBkdXJhdGlvbiwgdHJpbW1lZCBi eSBhbgorCSAqIG9yaWdpbmFsIEZPUiBQT1JUSU9OIE9GIGlmIG5lY2Vzc2FyeS4KKwkgKi8KKwl0 YXJnZXRSYW5nZSA9IHJlc3RyaWN0X2VuZm9yY2VkX3JhbmdlKHRyaWdkYXRhLT50Z190ZW1wb3Jh bCwgcmlpbmZvLCBvbGRzbG90KTsKKworCWlmIChTUElfY29ubmVjdCgpICE9IFNQSV9PS19DT05O RUNUKQorCQllbG9nKEVSUk9SLCAiU1BJX2Nvbm5lY3QgZmFpbGVkIik7CisKKwkvKgorCSAqIEZl dGNoIG9yIHByZXBhcmUgYSBzYXZlZCBwbGFuIGZvciB0aGUgdHJpZ2dlci4KKwkgKi8KKwlzd2l0 Y2ggKHRna2luZCkKKwl7CisJCWNhc2UgUklfVFJJR1RZUEVfVVBEQVRFOgorCQkJcXVlcnlubyA9 IGlzX3NldF9udWxsCisJCQkJPyBSSV9QTEFOX1BFUklPRF9TRVROVUxMX09OVVBEQVRFCisJCQkJ OiBSSV9QTEFOX1BFUklPRF9TRVRERUZBVUxUX09OVVBEQVRFOworCQkJYnJlYWs7CisJCWNhc2Ug UklfVFJJR1RZUEVfREVMRVRFOgorCQkJcXVlcnlubyA9IGlzX3NldF9udWxsCisJCQkJPyBSSV9Q TEFOX1BFUklPRF9TRVROVUxMX09OREVMRVRFCisJCQkJOiBSSV9QTEFOX1BFUklPRF9TRVRERUZB VUxUX09OREVMRVRFOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllbG9nKEVSUk9SLCAiaW52 YWxpZCB0Z2tpbmQgcGFzc2VkIHRvIHJpX3NldCIpOworCX0KKworCXJpX0J1aWxkUXVlcnlLZXko JnFrZXksIHJpaW5mbywgcXVlcnlubyk7CisKKwlpZiAoKHFwbGFuID0gcmlfRmV0Y2hQcmVwYXJl ZFBsYW4oJnFrZXkpKSA9PSBOVUxMKQorCXsKKwkJU3RyaW5nSW5mb0RhdGEgcXVlcnlidWY7CisJ CVN0cmluZ0luZm9EYXRhIHF1YWxidWY7CisJCWNoYXIJCWZrcmVsbmFtZVtNQVhfUVVPVEVEX1JF TF9OQU1FX0xFTl07CisJCWNoYXIJCWF0dG5hbWVbTUFYX1FVT1RFRF9OQU1FX0xFTl07CisJCWNo YXIJCXBhcmFtbmFtZVsxNl07CisJCWNvbnN0IGNoYXIgKnF1ZXJ5c2VwOworCQljb25zdCBjaGFy ICpxdWFsc2VwOworCQlPaWQJCQlxdWVyeW9pZHNbUklfTUFYX05VTUtFWVMgKyAxXTsJLyogKzEg Zm9yIEZPUiBQT1JUSU9OIE9GICovCisJCWNvbnN0IGNoYXIgKmZrX29ubHk7CisJCWludAkJCW51 bV9jb2xzX3RvX3NldDsKKwkJY29uc3QgaW50MTYgKnNldF9jb2xzOworCisJCXN3aXRjaCAodGdr aW5kKQorCQl7CisJCQljYXNlIFJJX1RSSUdUWVBFX1VQREFURToKKwkJCQkvKiAtMSBzbyB3ZSBs ZXQgRk9SIFBPUlRJT04gT0Ygc2V0IHRoZSByYW5nZS4gKi8KKwkJCQludW1fY29sc190b19zZXQg PSByaWluZm8tPm5rZXlzIC0gMTsKKwkJCQlzZXRfY29scyA9IHJpaW5mby0+ZmtfYXR0bnVtczsK KwkJCQlicmVhazsKKwkJCWNhc2UgUklfVFJJR1RZUEVfREVMRVRFOgorCisJCQkJLyoKKwkJCQkg KiBJZiBjb25mZGVsc2V0Y29scyBhcmUgcHJlc2VudCwgdGhlbiB3ZSBvbmx5IHVwZGF0ZSB0aGUK KwkJCQkgKiBjb2x1bW5zIHNwZWNpZmllZCBpbiB0aGF0IGFycmF5LCBvdGhlcndpc2Ugd2UgdXBk YXRlIGFsbAorCQkJCSAqIHRoZSByZWZlcmVuY2luZyBjb2x1bW5zLgorCQkJCSAqLworCQkJCWlm IChyaWluZm8tPm5kZWxzZXRjb2xzICE9IDApCisJCQkJeworCQkJCQludW1fY29sc190b19zZXQg PSByaWluZm8tPm5kZWxzZXRjb2xzOworCQkJCQlzZXRfY29scyA9IHJpaW5mby0+Y29uZmRlbHNl dGNvbHM7CisJCQkJfQorCQkJCWVsc2UKKwkJCQl7CisJCQkJCS8qIC0xIHNvIHdlIGxldCBGT1Ig UE9SVElPTiBPRiBzZXQgdGhlIHJhbmdlLiAqLworCQkJCQludW1fY29sc190b19zZXQgPSByaWlu Zm8tPm5rZXlzIC0gMTsKKwkJCQkJc2V0X2NvbHMgPSByaWluZm8tPmZrX2F0dG51bXM7CisJCQkJ fQorCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQllbG9nKEVSUk9SLCAiaW52YWxpZCB0Z2tp bmQgcGFzc2VkIHRvIHJpX3NldCIpOworCQl9CisKKwkJLyogLS0tLS0tLS0tLQorCQkgKiBUaGUg cXVlcnkgc3RyaW5nIGJ1aWx0IGlzCisJCSAqCVVQREFURSBbT05MWV0gPGZrdGFibGU+CisJCSAq CQkJRk9SIFBPUlRJT04gT0YgJGZrYXR0ICgke24rMX0pCisJCSAqCQkJU0VUIGZrYXR0MSA9IHtO VUxMfERFRkFVTFR9IFssIC4uLl0KKwkJICoJCQlXSEVSRSAkMSA9IGZrYXR0MSBbQU5EIC4uLl0K KwkJICogVGhlIHR5cGUgaWQncyBmb3IgdGhlICQgcGFyYW1ldGVycyBhcmUgdGhvc2Ugb2YgdGhl CisJCSAqIGNvcnJlc3BvbmRpbmcgUEsgYXR0cmlidXRlcy4KKwkJICogLS0tLS0tLS0tLQorCQkg Ki8KKwkJaW5pdFN0cmluZ0luZm8oJnF1ZXJ5YnVmKTsKKwkJaW5pdFN0cmluZ0luZm8oJnF1YWxi dWYpOworCQlma19vbmx5ID0gZmtfcmVsLT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJU SVRJT05FRF9UQUJMRSA/CisJCQkiIiA6ICJPTkxZICI7CisJCXF1b3RlUmVsYXRpb25OYW1lKGZr cmVsbmFtZSwgZmtfcmVsKTsKKwkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsIFJJQXR0TmFtZShma19y ZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0pKTsKKworCQlhcHBlbmRT dHJpbmdJbmZvKCZxdWVyeWJ1ZiwgIlVQREFURSAlcyVzIEZPUiBQT1JUSU9OIE9GICVzICgkJWQp IFNFVCIsCisJCQkJCQkgZmtfb25seSwgZmtyZWxuYW1lLCBhdHRuYW1lLCByaWluZm8tPm5rZXlz ICsgMSk7CisKKwkJLyoKKwkJICogQWRkIGFzc2lnbm1lbnQgY2xhdXNlcworCQkgKi8KKwkJcXVl cnlzZXAgPSAiIjsKKwkJZm9yIChpbnQgaSA9IDA7IGkgPCBudW1fY29sc190b19zZXQ7IGkrKykK KwkJeworCQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsIFJJQXR0TmFtZShma19yZWwsIHNldF9jb2xz W2ldKSk7CisJCQlhcHBlbmRTdHJpbmdJbmZvKCZxdWVyeWJ1ZiwKKwkJCQkJCQkgIiVzICVzID0g JXMiLAorCQkJCQkJCSBxdWVyeXNlcCwgYXR0bmFtZSwKKwkJCQkJCQkgaXNfc2V0X251bGwgPyAi TlVMTCIgOiAiREVGQVVMVCIpOworCQkJcXVlcnlzZXAgPSAiLCI7CisJCX0KKworCQkvKgorCQkg KiBBZGQgV0hFUkUgY2xhdXNlCisJCSAqLworCQlxdWFsc2VwID0gIldIRVJFIjsKKwkJZm9yIChp bnQgaSA9IDA7IGkgPCByaWluZm8tPm5rZXlzOyBpKyspCisJCXsKKwkJCU9pZAkJCXBrX3R5cGUg PSBSSUF0dFR5cGUocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0pOworCQkJT2lkCQkJZmtf dHlwZSA9IFJJQXR0VHlwZShma19yZWwsIHJpaW5mby0+ZmtfYXR0bnVtc1tpXSk7CisJCQlPaWQJ CQlwa19jb2xsID0gUklBdHRDb2xsYXRpb24ocGtfcmVsLCByaWluZm8tPnBrX2F0dG51bXNbaV0p OworCQkJT2lkCQkJZmtfY29sbCA9IFJJQXR0Q29sbGF0aW9uKGZrX3JlbCwgcmlpbmZvLT5ma19h dHRudW1zW2ldKTsKKworCQkJcXVvdGVPbmVOYW1lKGF0dG5hbWUsCisJCQkJCQkgUklBdHROYW1l KGZrX3JlbCwgcmlpbmZvLT5ma19hdHRudW1zW2ldKSk7CisKKwkJCXNwcmludGYocGFyYW1uYW1l LCAiJCVkIiwgaSArIDEpOworCQkJcmlfR2VuZXJhdGVRdWFsKCZxdWVyeWJ1ZiwgcXVhbHNlcCwK KwkJCQkJCQlwYXJhbW5hbWUsIHBrX3R5cGUsCisJCQkJCQkJcmlpbmZvLT5wZl9lcV9vcHJzW2ld LAorCQkJCQkJCWF0dG5hbWUsIGZrX3R5cGUpOworCQkJaWYgKHBrX2NvbGwgIT0gZmtfY29sbCAm JiAhZ2V0X2NvbGxhdGlvbl9pc2RldGVybWluaXN0aWMocGtfY29sbCkpCisJCQkJcmlfR2VuZXJh dGVRdWFsQ29sbGF0aW9uKCZxdWVyeWJ1ZiwgcGtfY29sbCk7CisJCQlxdWFsc2VwID0gIkFORCI7 CisJCQlxdWVyeW9pZHNbaV0gPSBwa190eXBlOworCQl9CisKKwkJLyogU2V0IGEgcGFyYW0gZm9y IEZPUiBQT1JUSU9OIE9GIFRPL0ZST00gKi8KKwkJcXVlcnlvaWRzW3JpaW5mby0+bmtleXNdID0g UklBdHRUeXBlKHBrX3JlbCwgcmlpbmZvLT5wa19hdHRudW1zW3JpaW5mby0+bmtleXMgLSAxXSk7 CisKKwkJLyogUHJlcGFyZSBhbmQgc2F2ZSB0aGUgcGxhbiAqLworCQlxcGxhbiA9IHJpX1BsYW5D aGVjayhxdWVyeWJ1Zi5kYXRhLCByaWluZm8tPm5rZXlzICsgMSwgcXVlcnlvaWRzLAorCQkJCQkJ CSAmcWtleSwgZmtfcmVsLCBwa19yZWwpOworCX0KKworCS8qCisJICogV2UgaGF2ZSBhIHBsYW4g bm93LiBSdW4gaXQgdG8gdXBkYXRlIHRoZSBleGlzdGluZyByZWZlcmVuY2VzLgorCSAqLworCXJp X1BlcmZvcm1DaGVjayhyaWluZm8sICZxa2V5LCBxcGxhbiwKKwkJCQkJZmtfcmVsLCBwa19yZWws CisJCQkJCW9sZHNsb3QsIE5VTEwsCisJCQkJCXJpaW5mby0+bmtleXMgKyAxLCB0YXJnZXRSYW5n ZSwKKwkJCQkJZmFsc2UsCisJCQkJCXRydWUsCQkvKiBtdXN0IGRldGVjdCBuZXcgcm93cyAqLwor CQkJCQlTUElfT0tfVVBEQVRFKTsKKworCWlmIChTUElfZmluaXNoKCkgIT0gU1BJX09LX0ZJTklT SCkKKwkJZWxvZyhFUlJPUiwgIlNQSV9maW5pc2ggZmFpbGVkIik7CisKKwl0YWJsZV9jbG9zZShm a19yZWwsIFJvd0V4Y2x1c2l2ZUxvY2spOworCisJaWYgKGlzX3NldF9udWxsKQorCQlyZXR1cm4g UG9pbnRlckdldERhdHVtKE5VTEwpOworCWVsc2UKKwl7CisJCS8qCisJCSAqIElmIHdlIGp1c3Qg ZGVsZXRlZCBvciB1cGRhdGVkIHRoZSBQSyByb3cgd2hvc2Uga2V5IHdhcyBlcXVhbCB0byB0aGUK KwkJICogRksgY29sdW1ucycgZGVmYXVsdCB2YWx1ZXMsIGFuZCBhIHJlZmVyZW5jaW5nIHJvdyBl eGlzdHMgaW4gdGhlIEZLCisJCSAqIHRhYmxlLCB3ZSB3b3VsZCBoYXZlIHVwZGF0ZWQgdGhhdCBy b3cgdG8gdGhlIHNhbWUgdmFsdWVzIGl0IGFscmVhZHkKKwkJICogaGFkIC0tLSBhbmQgUklfRktl eV9ma191cGRfY2hlY2tfcmVxdWlyZWQgd291bGQgaGVuY2UgYmVsaWV2ZSBubworCQkgKiBjaGVj ayBpcyBuZWNlc3NhcnkuICBTbyB3ZSBuZWVkIHRvIGRvIGFub3RoZXIgbG9va3VwIG5vdyBhbmQg aW4KKwkJICogY2FzZSBhIHJlZmVyZW5jZSBzdGlsbCBleGlzdHMsIGFib3J0IHRoZSBvcGVyYXRp b24uICBUaGF0IGlzCisJCSAqIGFscmVhZHkgaW1wbGVtZW50ZWQgaW4gdGhlIE5PIEFDVElPTiB0 cmlnZ2VyLCBzbyBqdXN0IHJ1biBpdC4gKFRoaXMKKwkJICogcmVjaGVjayBpcyBvbmx5IG5lZWRl ZCBpbiB0aGUgU0VUIERFRkFVTFQgY2FzZSwgc2luY2UgQ0FTQ0FERSB3b3VsZAorCQkgKiByZW1v dmUgc3VjaCByb3dzIGluIGNhc2Ugb2YgYSBERUxFVEUgb3BlcmF0aW9uIG9yIHdvdWxkIGNoYW5n ZSB0aGUKKwkJICogRksga2V5IHZhbHVlcyBpbiBjYXNlIG9mIGFuIFVQREFURSwgd2hpbGUgU0VU IE5VTEwgaXMgY2VydGFpbiB0bworCQkgKiByZXN1bHQgaW4gcm93cyB0aGF0IHNhdGlzZnkgdGhl IEZLIGNvbnN0cmFpbnQuKQorCQkgKi8KKwkJcmV0dXJuIHJpX3Jlc3RyaWN0KHRyaWdkYXRhLCB0 cnVlKTsKKwl9Cit9CisKIC8qCiAgKiBSSV9GS2V5X3BrX3VwZF9jaGVja19yZXF1aXJlZCAtCiAg KgpAQCAtMjQ4Nyw2ICszMDQwLDcgQEAgcmlfUGVyZm9ybUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFp bnRJbmZvICpyaWluZm8sCiAJCQkJUklfUXVlcnlLZXkgKnFrZXksIFNQSVBsYW5QdHIgcXBsYW4s CiAJCQkJUmVsYXRpb24gZmtfcmVsLCBSZWxhdGlvbiBwa19yZWwsCiAJCQkJVHVwbGVUYWJsZVNs b3QgKm9sZHNsb3QsIFR1cGxlVGFibGVTbG90ICpuZXdzbG90LAorCQkJCWludCBwZXJpb2RQYXJh bSwgRGF0dW0gcGVyaW9kLAogCQkJCWJvb2wgaXNfcmVzdHJpY3QsCiAJCQkJYm9vbCBkZXRlY3RO ZXdSb3dzLCBpbnQgZXhwZWN0X09LKQogewpAQCAtMjQ5OSw4ICszMDUzLDggQEAgcmlfUGVyZm9y bUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZvICpyaWluZm8sCiAJaW50CQkJc3BpX3Jlc3Vs dDsKIAlPaWQJCQlzYXZlX3VzZXJpZDsKIAlpbnQJCQlzYXZlX3NlY19jb250ZXh0OwotCURhdHVt CQl2YWxzW1JJX01BWF9OVU1LRVlTICogMl07Ci0JY2hhcgkJbnVsbHNbUklfTUFYX05VTUtFWVMg KiAyXTsKKwlEYXR1bQkJdmFsc1tSSV9NQVhfTlVNS0VZUyAqIDIgKyAxXTsKKwljaGFyCQludWxs c1tSSV9NQVhfTlVNS0VZUyAqIDIgKyAxXTsKIAogCS8qCiAJICogVXNlIHRoZSBxdWVyeSB0eXBl IGNvZGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIHF1ZXJ5IGlzIHJ1biBhZ2FpbnN0CkBAIC0y NTQzLDYgKzMwOTcsMTIgQEAgcmlfUGVyZm9ybUNoZWNrKGNvbnN0IFJJX0NvbnN0cmFpbnRJbmZv ICpyaWluZm8sCiAJCXJpX0V4dHJhY3RWYWx1ZXMoc291cmNlX3JlbCwgb2xkc2xvdCwgcmlpbmZv LCBzb3VyY2VfaXNfcGssCiAJCQkJCQkgdmFscywgbnVsbHMpOwogCX0KKwkvKiBBZGQvcmVwbGFj ZSBhIHF1ZXJ5IHBhcmFtIGZvciB0aGUgUEVSSU9EIGlmIG5lZWRlZCAqLworCWlmIChwZXJpb2Qp CisJeworCQl2YWxzW3BlcmlvZFBhcmFtIC0gMV0gPSBwZXJpb2Q7CisJCW51bGxzW3BlcmlvZFBh cmFtIC0gMV0gPSAnICc7CisJfQogCiAJLyoKIAkgKiBJbiBSRUFEIENPTU1JVFRFRCBtb2RlLCB3 ZSBqdXN0IG5lZWQgdG8gdXNlIGFuIHVwLXRvLWRhdGUgcmVndWxhcgpAQCAtMzIyMyw2ICszNzgz LDEyIEBAIFJJX0ZLZXlfdHJpZ2dlcl90eXBlKE9pZCB0Z2ZvaWQpCiAJCWNhc2UgRl9SSV9GS0VZ X1NFVERFRkFVTFRfVVBEOgogCQljYXNlIEZfUklfRktFWV9OT0FDVElPTl9ERUw6CiAJCWNhc2Ug Rl9SSV9GS0VZX05PQUNUSU9OX1VQRDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX0NBU0NBREVf REVMOgorCQljYXNlIEZfUklfRktFWV9QRVJJT0RfQ0FTQ0FERV9VUEQ6CisJCWNhc2UgRl9SSV9G S0VZX1BFUklPRF9TRVROVUxMX0RFTDoKKwkJY2FzZSBGX1JJX0ZLRVlfUEVSSU9EX1NFVE5VTExf VVBEOgorCQljYXNlIEZfUklfRktFWV9QRVJJT0RfU0VUREVGQVVMVF9ERUw6CisJCWNhc2UgRl9S SV9GS0VZX1BFUklPRF9TRVRERUZBVUxUX1VQRDoKIAkJCXJldHVybiBSSV9UUklHR0VSX1BLOwog CiAJCWNhc2UgRl9SSV9GS0VZX0NIRUNLX0lOUzoKQEAgLTMyMzIsMyArMzc5OCw1MCBAQCBSSV9G S2V5X3RyaWdnZXJfdHlwZShPaWQgdGdmb2lkKQogCiAJcmV0dXJuIFJJX1RSSUdHRVJfTk9ORTsK IH0KKworLyoKKyAqIGZwb190YXJnZXRzX3BrX3JhbmdlCisgKgorICogUmV0dXJucyB0cnVlIGlm ZiB0aGUgcHJpbWFyeSBrZXkgcmVmZXJlbmNlZCBieSByaWluZm8gaW5jbHVkZXMgdGhlIHJhbmdl CisgKiBjb2x1bW4gdGFyZ2V0ZWQgYnkgdGhlIEZPUiBQT1JUSU9OIE9GIGNsYXVzZSAoYWNjb3Jk aW5nIHRvIHRnX3RlbXBvcmFsKS4KKyAqLworc3RhdGljIGJvb2wKK2Zwb190YXJnZXRzX3BrX3Jh bmdlKGNvbnN0IEZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbCwgY29uc3QgUklfQ29uc3Ry YWludEluZm8gKnJpaW5mbykKK3sKKwlpZiAodGdfdGVtcG9yYWwgPT0gTlVMTCkKKwkJcmV0dXJu IGZhbHNlOworCisJcmV0dXJuIHJpaW5mby0+cGtfYXR0bnVtc1tyaWluZm8tPm5rZXlzIC0gMV0g PT0gdGdfdGVtcG9yYWwtPmZwX3JhbmdlQXR0bm87Cit9CisKKy8qCisgKiByZXN0cmljdF9lbmZv cmNlZF9yYW5nZSAtCisgKgorICogUmV0dXJucyBhIERhdHVtIG9mIFJhbmdlVHlwZVAgaG9sZGlu ZyB0aGUgYXBwcm9wcmlhdGUgdGltZXNwYW4KKyAqIHRvIHRhcmdldCBjaGlsZCByZWNvcmRzIHdo ZW4gd2UgUkVTVFJJQ1QvQ0FTQ0FERS9TRVQgTlVMTC9TRVQgREVGQVVMVC4KKyAqCisgKiBJbiBh IG5vcm1hbCBVUERBVEUvREVMRVRFIHRoaXMgc2hvdWxkIGJlIHRoZSByZWZlcmVuY2VkIHJvdydz IG93biB2YWxpZCB0aW1lLAorICogYnV0IGlmIHRoZXJlIHdhcyBhIEZPUiBQT1JUSU9OIE9GIGNs YXVzZSwgdGhlbiB3ZSBzaG91bGQgdXNlIHRoYXQgdG8KKyAqIHRyaW0gZG93biB0aGUgc3BhbiBm dXJ0aGVyLgorICovCitzdGF0aWMgRGF0dW0KK3Jlc3RyaWN0X2VuZm9yY2VkX3JhbmdlKGNvbnN0 IEZvclBvcnRpb25PZlN0YXRlICp0Z190ZW1wb3JhbCwgY29uc3QgUklfQ29uc3RyYWludEluZm8g KnJpaW5mbywgVHVwbGVUYWJsZVNsb3QgKm9sZHNsb3QpCit7CisJRGF0dW0JCXBrUmVjb3JkUmFu Z2U7CisJYm9vbAkJaXNudWxsOworCUF0dHJOdW1iZXIJYXR0bm8gPSByaWluZm8tPnBrX2F0dG51 bXNbcmlpbmZvLT5ua2V5cyAtIDFdOworCisJcGtSZWNvcmRSYW5nZSA9IHNsb3RfZ2V0YXR0cihv bGRzbG90LCBhdHRubywgJmlzbnVsbCk7CisJaWYgKGlzbnVsbCkKKwkJZWxvZyhFUlJPUiwgImFw cGxpY2F0aW9uIHRpbWUgc2hvdWxkIG5vdCBiZSBudWxsIik7CisKKwlpZiAoZnBvX3RhcmdldHNf cGtfcmFuZ2UodGdfdGVtcG9yYWwsIHJpaW5mbykpCisJeworCQlpZiAoIU9pZElzVmFsaWQocmlp bmZvLT5wZXJpb2RfaW50ZXJzZWN0X3Byb2MpKQorCQkJZWxvZyhFUlJPUiwgImludmFsaWQgaW50 ZXJzZWN0IHN1cHBvcnQgZnVuY3Rpb24iKTsKKworCQlyZXR1cm4gT2lkRnVuY3Rpb25DYWxsMihy aWluZm8tPnBlcmlvZF9pbnRlcnNlY3RfcHJvYywgcGtSZWNvcmRSYW5nZSwgdGdfdGVtcG9yYWwt PmZwX3RhcmdldFJhbmdlKTsKKwl9CisJZWxzZQorCQlyZXR1cm4gcGtSZWNvcmRSYW5nZTsKK30K ZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IGQ2NDdhOGQwNmY4Li4xMDFkZmRjNTE2YiAxMDA2 NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5jbHVk ZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC00MTIwLDYgKzQxMjAsMjggQEAKICAgcHJvcmV0dHlw ZSA9PiAndHJpZ2dlcicsIHByb2FyZ3R5cGVzID0+ICcnLAogICBwcm9zcmMgPT4gJ1JJX0ZLZXlf bm9hY3Rpb25fdXBkJyB9LAogCisjIFRlbXBvcmFsIHJlZmVyZW50aWFsIGludGVncml0eSBjb25z dHJhaW50IHRyaWdnZXJzCit7IG9pZCA9PiAnNjEyNCcsIGRlc2NyID0+ICd0ZW1wb3JhbCByZWZl cmVudGlhbCBpbnRlZ3JpdHkgT04gREVMRVRFIENBU0NBREUnLAorICBwcm9uYW1lID0+ICdSSV9G S2V5X3BlcmlvZF9jYXNjYWRlX2RlbCcsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcmV0dHlwZSA9 PiAndHJpZ2dlcicsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4gJ1JJX0ZLZXlfcGVy aW9kX2Nhc2NhZGVfZGVsJyB9LAoreyBvaWQgPT4gJzYxMjUnLCBkZXNjciA9PiAndGVtcG9yYWwg cmVmZXJlbnRpYWwgaW50ZWdyaXR5IE9OIFVQREFURSBDQVNDQURFJywKKyAgcHJvbmFtZSA9PiAn UklfRktleV9wZXJpb2RfY2FzY2FkZV91cGQnLCBwcm92b2xhdGlsZSA9PiAndicsIHByb3JldHR5 cGUgPT4gJ3RyaWdnZXInLAorICBwcm9hcmd0eXBlcyA9PiAnJywgcHJvc3JjID0+ICdSSV9GS2V5 X3BlcmlvZF9jYXNjYWRlX3VwZCcgfSwKK3sgb2lkID0+ICc2MTI4JywgZGVzY3IgPT4gJ3RlbXBv cmFsIHJlZmVyZW50aWFsIGludGVncml0eSBPTiBERUxFVEUgU0VUIE5VTEwnLAorICBwcm9uYW1l ID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRudWxsX2RlbCcsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJv cmV0dHlwZSA9PiAndHJpZ2dlcicsCisgIHByb2FyZ3R5cGVzID0+ICcnLCBwcm9zcmMgPT4gJ1JJ X0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsJyB9LAoreyBvaWQgPT4gJzYxMjknLCBkZXNjciA9PiAn dGVtcG9yYWwgcmVmZXJlbnRpYWwgaW50ZWdyaXR5IE9OIFVQREFURSBTRVQgTlVMTCcsCisgIHBy b25hbWUgPT4gJ1JJX0ZLZXlfcGVyaW9kX3NldG51bGxfdXBkJywgcHJvdm9sYXRpbGUgPT4gJ3Yn LCBwcm9yZXR0eXBlID0+ICd0cmlnZ2VyJywKKyAgcHJvYXJndHlwZXMgPT4gJycsIHByb3NyYyA9 PiAnUklfRktleV9wZXJpb2Rfc2V0bnVsbF91cGQnIH0sCit7IG9pZCA9PiAnNjEzMCcsIGRlc2Ny ID0+ICd0ZW1wb3JhbCByZWZlcmVudGlhbCBpbnRlZ3JpdHkgT04gREVMRVRFIFNFVCBERUZBVUxU JywKKyAgcHJvbmFtZSA9PiAnUklfRktleV9wZXJpb2Rfc2V0ZGVmYXVsdF9kZWwnLCBwcm92b2xh dGlsZSA9PiAndicsCisgIHByb3JldHR5cGUgPT4gJ3RyaWdnZXInLCBwcm9hcmd0eXBlcyA9PiAn JywKKyAgcHJvc3JjID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2RlbCcgfSwKK3sgb2lk ID0+ICc2MTMxJywgZGVzY3IgPT4gJ3RlbXBvcmFsIHJlZmVyZW50aWFsIGludGVncml0eSBPTiBV UERBVEUgU0VUIERFRkFVTFQnLAorICBwcm9uYW1lID0+ICdSSV9GS2V5X3BlcmlvZF9zZXRkZWZh dWx0X3VwZCcsIHByb3ZvbGF0aWxlID0+ICd2JywKKyAgcHJvcmV0dHlwZSA9PiAndHJpZ2dlcics IHByb2FyZ3R5cGVzID0+ICcnLAorICBwcm9zcmMgPT4gJ1JJX0ZLZXlfcGVyaW9kX3NldGRlZmF1 bHRfdXBkJyB9LAorCiB7IG9pZCA9PiAnMTY2NicsCiAgIHByb25hbWUgPT4gJ3ZhcmJpdGVxJywg cHJvbGVha3Byb29mID0+ICd0JywgcHJvcmV0dHlwZSA9PiAnYm9vbCcsCiAgIHByb2FyZ3R5cGVz ID0+ICd2YXJiaXQgdmFyYml0JywgcHJvc3JjID0+ICdiaXRlcScgfSwKZGlmZiAtLWdpdCBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvYnRyZWVfaW5kZXgub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9idHJlZV9pbmRleC5vdXQKaW5kZXggMjFkYzliNTc4M2EuLmMzYmY5NDc5N2U3 IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dAor KysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2J0cmVlX2luZGV4Lm91dApAQCAtNDU0LDE0 ICs0NTQsMTcgQEAgc2VsZWN0IHByb25hbWUgZnJvbSBwZ19wcm9jIHdoZXJlIHByb25hbWUgbGlr ZSBFJ1JJXFxfRktleSVkZWwnIG9yZGVyIGJ5IDE7CiAoMyByb3dzKQogCiBzZWxlY3QgcHJvbmFt ZSBmcm9tIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSBsaWtlIEUnUklcXF9GS2V5JWRlbCcgb3JkZXIg YnkgMTsKLSAgICAgICAgcHJvbmFtZSAgICAgICAgIAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CisgICAgICAgICAgICBwcm9uYW1lICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiAgUklfRktleV9jYXNjYWRlX2RlbAogIFJJX0ZLZXlfbm9hY3Rpb25fZGVsCisg UklfRktleV9wZXJpb2RfY2FzY2FkZV9kZWwKKyBSSV9GS2V5X3BlcmlvZF9zZXRkZWZhdWx0X2Rl bAorIFJJX0ZLZXlfcGVyaW9kX3NldG51bGxfZGVsCiAgUklfRktleV9yZXN0cmljdF9kZWwKICBS SV9GS2V5X3NldGRlZmF1bHRfZGVsCiAgUklfRktleV9zZXRudWxsX2RlbAotKDUgcm93cykKKyg4 IHJvd3MpCiAKIGV4cGxhaW4gKGNvc3RzIG9mZikKIHNlbGVjdCBwcm9uYW1lIGZyb20gcGdfcHJv YyB3aGVyZSBwcm9uYW1lIGlsaWtlICcwMCVmb28nIG9yZGVyIGJ5IDE7CkBAIC01MDAsMTQgKzUw MywxNyBAQCBzZWxlY3QgcHJvbmFtZSBmcm9tIHBnX3Byb2Mgd2hlcmUgcHJvbmFtZSBsaWtlIEUn UklcXF9GS2V5JWRlbCcgb3JkZXIgYnkgMTsKICg2IHJvd3MpCiAKIHNlbGVjdCBwcm9uYW1lIGZy b20gcGdfcHJvYyB3aGVyZSBwcm9uYW1lIGxpa2UgRSdSSVxcX0ZLZXklZGVsJyBvcmRlciBieSAx OwotICAgICAgICBwcm9uYW1lICAgICAgICAgCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAg ICAgICAgICAgIHByb25hbWUgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KICBSSV9GS2V5X2Nhc2NhZGVfZGVsCiAgUklfRktleV9ub2FjdGlvbl9kZWwKKyBSSV9G S2V5X3BlcmlvZF9jYXNjYWRlX2RlbAorIFJJX0ZLZXlfcGVyaW9kX3NldGRlZmF1bHRfZGVsCisg UklfRktleV9wZXJpb2Rfc2V0bnVsbF9kZWwKICBSSV9GS2V5X3Jlc3RyaWN0X2RlbAogIFJJX0ZL ZXlfc2V0ZGVmYXVsdF9kZWwKICBSSV9GS2V5X3NldG51bGxfZGVsCi0oNSByb3dzKQorKDggcm93 cykKIAogZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0IHByb25hbWUgZnJvbSBwZ19wcm9jIHdo ZXJlIHByb25hbWUgaWxpa2UgJzAwJWZvbycgb3JkZXIgYnkgMTsKZGlmZiAtLWdpdCBhL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0CmluZGV4IDQwMTU1MGI1NDgyLi40ZDlm MjVhYzQwNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC93aXRob3V0X292 ZXJsYXBzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3Zlcmxh cHMub3V0CkBAIC0xOTQ3LDcgKzE5NDcsMjQgQEAgRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBERUxF VEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAogLS0KIC0t IHJuZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCistLSBUT0M6CistLSBy ZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNF VCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQg ZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBz Y2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0t IHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkK Ky0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZl cmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQg c3Vic2V0KQorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tCiBU UlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKQEAgLTE5NTYsMjkgKzE5 NzMsNTkzIEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKICAgICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9y bmcKICAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKLUVSUk9SOiAgdW5z dXBwb3J0ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2lu ZyBQRVJJT0QKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3Ju ZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KQorIFsx MDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzcsOCkKKyBbMTAwLDEwMSkgfCBb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs3LDgpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkp Jyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTApCisgWzIwMCwyMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcs IHRlbXBvcmFsX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVs ZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkIAorLS0tLSstLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5j ZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJh bmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSkgfCBbOCw5KQorKDEgcm93KQorCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIE5VTEwKKy0tCiBUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3Ju ZzJybmc7CiBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYs NyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBE QVRFIFNFVCBOVUxMOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBm b3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0gbGVmdG92ZXJzIG9uIGJvdGgg c2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsx MDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlk ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzIwMCwyMDEpIHwg WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5n LCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBb MjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEt MDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAx LDIwMjAtMDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAK KygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBX SEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsyMDAs MjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCiAt LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0KIFRSVU5DQVRFIHRl bXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwp KTsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOwogSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScp OwogQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwogICBBTFRFUiBDT0xVTU4gcGFyZW50 X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBE RUZBVUxUOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWdu IGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2 LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8 IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDApCiso MyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9 ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxp ZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEp IHwgWy0xLDApCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQor KDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRl cmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsy MDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSkgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKSB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBD QVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVt cG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBDQVND QURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERB VEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEp JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsy MDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykK KworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzcs OCkgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBv cmFsX3JuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTAp ICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5 KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVs ZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5n MiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYs NyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0w MS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3 KSAgICAgIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBb OCw5KSAgICAgIHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxf cm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChp ZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAn WzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERF TEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMTAw LDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMg cm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQx ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJl bnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAg ICAgICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAg ICAgICAgIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAg ICAgIHwgCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIg U0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAor IFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkp CisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9m azJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9h dCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAg ICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBb MTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQor KDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAg ICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAK KyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAx LTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5V TEwgc3Vic2V0KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcy cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNh dXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBV UERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4g T04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Ju ZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor REVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAx LDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEt MDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9u LUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScs IGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAx LDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEt MDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFd JywgJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBB TFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENP TFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRF IFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3Ro IHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAn WzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9y bmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0x LDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlk MSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkK KyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEs MCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBb LTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwg Wy0xLDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp IHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0 ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywg ZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAx KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3 KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQy IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAg ICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2 LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9z cyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsy X3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50 X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0x LDApICAgICB8IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0 KQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9ybmcycm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEs LTFdJywgJ1s2LDcpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyks ICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQ RVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgQUxURVIg Q09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CitFUlJPUjog IGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fu bm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZwor ICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAg IE9OIERFTEVURSBTRVQgREVGQVVMVCAocGFyZW50X2lkMSkgT04gVVBEQVRFIFNFVCBERUZBVUxU OworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAg IHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IFstMSwwKSAg ICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEp IHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0w MSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFs4LDkpCisgWzIw MCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygy IHJvd3MpCisKIC0tCiAtLSB0ZXN0IEZPUkVJR04gS0VZLCBtdWx0aXJhbmdlIHJlZmVyZW5jZXMg bXVsdGlyYW5nZQogLS0KQEAgLTI0MTMsNiArMjk5NCw2MjYgQEAgREVUQUlMOiAgS2V5IChpZCwg dmFsaWRfYXQpPShbNSw2KSwge1syMDE4LTAxLTAxLDIwMTgtMDEtMDIpLFsyMDE4LTAxLTAzLDIw MTgtMDIKIERFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBB TkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAx OC0wMi0wMScpKTsKIC0tCistLQorLS0gbWx0cm5nMm1sdHJuZyB0ZXN0IE9OIFVQREFURS9ERUxF VEUgb3B0aW9ucworLS0KKy0tIFRPQzoKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgdXBkYXRl cyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCistLSByZWZl cmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBk ZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxM ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBz Y2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBE RUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAo dHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2 LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAgT04g REVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQg aWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAg ICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2 LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAg ICAgICAgICAgICB8IFs3LDgpCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAg ICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKX0gfCBbNyw4KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbNyw4KQorKDIgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzksMTAp JyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAw LDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpfSB8IFs5LDEwKQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBb OCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIw LTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAg ICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3 KQorKDEgcm93KQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21s dHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg aWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor KDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0 cm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFs aWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0w MS0wMSl9IHwgWzgsOSkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRh dGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19t bHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgU0VU IE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitV UERBVEUgdGVtcG9yYWxfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3 LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cisg ICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAg ICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KQorIFsx MDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAg ICAgfCAKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IAorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAg ICAgICAgICAgICAgICAgfCAKKygyIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknKTsKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor IFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAKKyBbMjAwLDIwMSkgfCB7 WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21s dHJuZywgdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21s dHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0g bm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0w MSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgCisgWzIw MCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf bWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcK KyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nCisgICAg T04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEt MDEnKSkpIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRf YXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSl9IHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAg ICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIw MTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCiso MiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNF VCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTkt MDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgt MDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApCisgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBv cmFsX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxs LCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEn LCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAg ICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9 IHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToK K0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICAgICAgICAgICAgICB2 YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKX0gfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0w MSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApCisoMiByb3dzKQorCistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIw MSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBh cmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbLTEsMCkKKyBb MjAwLDIwMSkgfCB7WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygyIHJvd3MpCisK Ky0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNv bHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n X2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIENBU0NBREUgT04g VVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdbNyw4KScgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAy MS0wMS0wMSl9IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwge1syMDE5LTAxLTAx LDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFs3LDgpICAgICAgfCBbNiw3 KQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5n MiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5 LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNyw4KSAgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAg ICAgIHwgWzcsOCkgICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOwor VVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgt MDEtMDEsMjAyMC0wMS0wMSl9IHwgWzksMTApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwge1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29s cykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkg VkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKygxIHJvdykKKworLS0gbm9uLUZQTyBkZWxl dGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQx IHwgcGFyZW50X2lkMiAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVT ICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0 cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAg dmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5 KQorKDEgcm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxF VEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBp ZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAg ICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEp LFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgIHwgCisoMiByb3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAgICAgICAg ICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwge1syMDE4 LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8ICAgICAgICAgICAg fCAKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93cykKKworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf bWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsK K1VQREFURSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwge1syMDE4 LTAxLTAxLDIwMjAtMDEtMDEpfSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCB7WzIwMjAt MDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQor LS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykK Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAw LDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFy ZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKX0gfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAy MC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93 cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAy MC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IAorKDIgcm93 cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAgICAgICAgICAgIHwgCisgWzIwMCwyMDEp IHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcy LCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJu ZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQx LCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBm YWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRy bmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBE RUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNv bHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90 IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu ZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmssCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9pZDEp IE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEw MCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAx LTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgIHwgWzYsNykKKygyIHJv d3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKX0gfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEt MDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8IFs2 LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAg ICAgdmFsaWRfYXQgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwge1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8ICAgICAgICAgICAgfCBb OCw5KQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAg IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJu ZzIsIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNykn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xV TU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQ RVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04g REVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBh cmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3 KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s3 LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5 LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWy0xLDApCisg WzEwMCwxMDEpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAg ICAgICB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygyIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIs IHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nMiBTRVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwx MCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgICB2 YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBb MjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWy0xLDApICAgICB8IFstMSww KQorIFsyMDAsMjAxKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbOCw5KSAgICAgIHwg WzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg REVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZzIs IHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJu ZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZh bGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCist LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0w MSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KSAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAg ICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKworLS0gbm9uLUZQTyB1 cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICAgICAg ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg e1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDApICAgICB8IFstMSwwKQorKDIgcm93cykKKwor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcy MDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAn WzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQx ID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IHtb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEp IHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93 cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28g c2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9t bHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScs IGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknLCAnWzYs NyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nCisgIEFMVEVSIENPTFVNTiBw YXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAg T04gREVMRVRFIFNFVCBERUZBVUxUICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBERUZBVUxUOwor RVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiByZWZlcmVuY2VkIGluIE9OIERFTEVURSBTRVQgYWN0 aW9uIGNhbm5vdCBiZSBQRVJJT0QKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmssCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVz OgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAo ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0 cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IHtbMjAxOS0wMS0w MSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbLTEsMCkgICAgIHwgWzYs NykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKyAgICBpZCAgICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAg ICAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCB7 WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgWy0xLDAp ICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFM VUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4 LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRf aWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwg Wy0xLDApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0gRksgd2l0aCBhIGN1c3RvbSBy YW5nZSB0eXBlCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUp OworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IG15ZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9mazNfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFu Z2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3Ju ZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVS SU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19y bmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tCisgWzUsNikgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs4LDkpCisgWzUsNikg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQorCitEUk9QIFRBQkxF IHRlbXBvcmFsX2ZrM19ybmcycm5nOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOworRFJPUCBU WVBFIG15ZGF0ZXJhbmdlOworLS0KIC0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiBy YW5nZXMKIC0tCiBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgKQEAgLTI0 MjEsOCArMzYyMiw4IEBAIENSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKAog ICBuYW1lIHRleHQsCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQogKSBQQVJUSVRJT04gQlkg TElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRwMSBwYXJ0aXRpb24gT0YgdGVtcG9yYWxfcGFydGl0 aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2KScsICdbNyw4 KScsICdbOSwxMCknLCAnWzExLDEyKScpOwotQ1JFQVRFIFRBQkxFIHRwMiBwYXJ0aXRpb24gT0Yg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMiwzKScsICdbNCw1KScs ICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknKTsKK0NSRUFURSBUQUJMRSB0 cDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgn WzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAn WzEzLDE0KScsICdbMTUsMTYpJywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1sy MywyNCknKTsKK0NSRUFURSBUQUJMRSB0cDIgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNykn LCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdb MTgsMTkpJywgJ1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CiBJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCwgbmFtZSkgVkFMVUVTCiAgICgn WzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0wMScpLCAnb25lJyksCiAg ICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDItMDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyks CkBAIC0yNDM1LDggKzM2MzYsOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZyAoCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu Z19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCiApIFBB UlRJVElPTiBCWSBMSVNUIChpZCk7Ci1DUkVBVEUgVEFCTEUgdGZrcDEgcGFydGl0aW9uIE9GIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1sz LDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJyk7Ci1DUkVBVEUgVEFC TEUgdGZrcDIgcGFydGl0aW9uIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgRk9S IFZBTFVFUyBJTiAoJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSkn LCAnWzEyLDEzKScpOworQ1JFQVRFIFRBQkxFIHRma3AxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdb NSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNikn LCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOworQ1JFQVRFIFRB QkxFIHRma3AyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZP UiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScs ICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAn WzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyBy ZWZlcmVuY2luZyBpbnNlcnRzCiAtLQpAQCAtMjQ3OCw3ICszNjc5LDcgQEAgVVBEQVRFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTYtMDItMDEn LCAnMjAxNi0wMy0KIC0tIHNob3VsZCBmYWlsOgogVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTYtMDEtMDEnLCAnMjAxNi0wMi0wMScp CiAgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpOwotRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0 cDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmdfZmtfMSIgb24gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmciCitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRwMSIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19ma18y IiBvbiB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyIKIERFVEFJTDogIEtl eSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGls bCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmci LgogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KQEAg LTI0OTAsMzcgKzM2OTEsMTYyIEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbCiBERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9h dCA9IGRhdGVyYW5nZSgnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CiAtLSBzaG91bGQgZmFp bDoKIERFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbNSw2 KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKTsK LUVSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidHAxIiB2aW9sYXRlcyBmb3JlaWdu IGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrXzEiIG9u IHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIgorRVJST1I6ICB1cGRhdGUg b3IgZGVsZXRlIG9uIHRhYmxlICJ0cDEiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmtfMiIgb24gdGFibGUgInRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX3JuZzJybmciCiBERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1 LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIi4KIC0tCiAtLSBwYXJ0aXRpb25l ZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1s0LDUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwg J1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nCiAg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrLAogICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrCiAgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENB U0NBREU7Ci1FUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24g a2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlk ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs0LDUpIHwgWzIwMTktMDEtMDEsMjAy MC0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3 KQorIFs0LDUpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKwor VVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LQorIFs0LDUpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIw MTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KQorIFs0LDUpIHwgWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSkgfCBbNyw4KQorKDMgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwLDExKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTUsMTYpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVSRSBpZCA9ICdb MTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMCwxMSknOwor ICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwLDExKSB8IFsyMDE4 LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzE2LDE3KQorIFsxMCwxMSkgfCBbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKSB8IFsxNSwxNikKKygyIHJvd3MpCisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERQogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s1LDYpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbNSw2KSc7CisgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs1LDYp IHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbOCw5KQorIFs1LDYpIHwgWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisgaWQgfCB2YWxpZF9h dCB8IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1sxNywxOCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMTcsMTgpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzExLDEyKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyksICdbMTcsMTgpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcgV0hFUkUgaWQgPSAnWzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTEsMTIpJzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQor IFsxMSwxMikgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsxNywxOCkKKygxIHJvdykKKwog LS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAogLS0KK1RS VU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJyksICdbOSwxMCknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQp CiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBPTiBERUxFVEUg U0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOwotRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERB VEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0g J1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzYsNyknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbNiw3KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzYsNykgfCBbMjAxOC0wMS0w MSwyMDE5LTAxLTAxKSB8IFs5LDEwKQorIFs2LDcpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkg fCBbOSwxMCkKKygzIHJvd3MpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VU IGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzYsNyknOworICBpZCAgIHwg ICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNiw3KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEt MDEpIHwgCisgWzYsNykgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IAorIFs2LDcpIHwgWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAKKygzIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScsIGRhdGVyYW5n ZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx MiwxMyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzE4LDE5KScp OworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQgPSAnWzE5LDIwKScgV0hF UkUgaWQgPSAnWzE4LDE5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdb MTIsMTMpJzsKKyAgIGlkICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMiwx MykgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsxMiwxMykgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8IFsxOCwxOSkKKygyIHJvd3MpCisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzExLDEyKScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1s3LDgpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sx MSwxMiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQg PSAnWzExLDEyKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzcsOCknOworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAg fCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbNyw4KSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzcsOCkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8IFsxMSwxMikKKyBbNyw4KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpIHwgWzExLDEyKQorKDMgcm93cykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIFdIRVJFIGlkID0gJ1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s3LDgpJzsKKyAgaWQgICB8ICAgICAgICB2 YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzcsOCkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAor IFs3LDgpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAKKyBbNyw4KSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgCisoMyByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlcmFuZ2UoJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTMsMTQpJywg ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1syMCwyMSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbMjAsMjEpJyBBTkQg dmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMywxNCknOworICAgaWQgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEzLDE0KSB8IFsyMDE4LTAxLTAxLDIwMjAt MDEtMDEpIHwgCisgWzEzLDE0KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzIwLDIxKQor KDIgcm93cykKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg REVGQVVMVAogLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMCwxKScsIGRhdGVyYW5nZShudWxsLCBudWxs KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzEyLDEzKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1sxMiwxMyknKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmcKICAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0x LC0xXScsCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n X2ZrLApAQCAtMjUyOCwxMCArMzg1NCw3MyBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nCiAgICAgT04gREVM RVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKLUVSUk9SOiAgdW5zdXBwb3J0 ZWQgT04gVVBEQVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJ T0QKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbMTMsMTQpJyBX SEVSRSBpZCA9ICdbMTIsMTMpJzsKK0VSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAi dGZrcDIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShb LTEsMCksIFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpKSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAi dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CisgIGlkICAgfCAgICAgICAgdmFs aWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFs4LDkpIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTIs MTMpCisoMSByb3cpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0g J1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRl IG9uIHRhYmxlICJ0ZmtwMiIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2 YWxpZF9hdCk9KFstMSwwKSwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkpIGlzIG5vdCBwcmVzZW50 IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKKyAgaWQgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzgsOSkgfCBbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKSB8IFsxMiwxMykKKygxIHJvdykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzE0LDE1KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjIsMjMpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMjMsMjQpJyBXSEVSRSBpZCA9ICdb MjIsMjMpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworRVJST1I6ICBpbnNl cnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMiIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3Ry YWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAo cGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkpIGlz IG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmciLgorU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxNCwx NSknOworICAgaWQgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzE0LDE1KSB8 IFsyMDE4LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzIyLDIzKQorKDEgcm93KQorCiAtLQogLS0gcGFy dGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCiAtLQorVFJVTkNBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxNCwx NSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzE0LDE1KSc7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWy0xLDApLCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKKyAgIGlkICAgfCAgICAgICAgdmFsaWRfYXQgICAg ICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbOSwxMCkgfCBbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKSB8IFsxNCwxNSkKKygx IHJvdykKKworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFdIRVJFIGlkID0g J1sxNCwxNSknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMSIgdmlv bGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5n MnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFstMSwwKSwgWzIw MTgtMDEtMDEsMjAyMS0wMS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmciLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CisgICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgWzksMTApIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMTQsMTUpCiso MSByb3cpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEt MDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzI0LDI1KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx JykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzI0LDI1KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfcm5nIFdIRVJFIGlkID0gJ1syNCwyNSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWy0xLDApLCBb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyIuCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X3JuZzJybmcgV0hFUkUgaWQgPSAnWzE1LDE2KSc7CisgICBpZCAgICB8ICAgICAgICB2YWxpZF9h dCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTUsMTYpIHwgWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkgfCBbMjQs MjUpCisoMSByb3cpCisKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nOwogLS0KQEAgLTI2MTcsMzIg KzQwMDYsMTUwIEBAIERFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIHtbMjAxOC0w MS0wMSwyMDE4LTAyLTAxKX0pIGlzIHN0aWxsIHJlZmVyZW5jCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKIC0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcy bWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7 CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAog ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2Zr CiAgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIENBU0NBREUg T04gVVBEQVRFIENBU0NBREU7Ci1FUlJPUjogIHVuc3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24g Zm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9ECitVUERBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzQsNSknOworICBpZCAgIHwgICAgICAgICAg ICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAgICB8IHBhcmVudF9pZCAKKy0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzQsNSkgfCB7WzIwMTktMDEtMDEsMjAyMC0wMS0wMSl9ICAgICAgICAg ICAgICAgICAgICAgICAgIHwgWzcsOCkKKyBbNCw1KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAxLTAx KSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbNiw3KQorKDIgcm93cykKKworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbNCw1KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlk X2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb NCw1KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAg fCBbNyw4KQorIFs0LDUpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIw MjEtMDEtMDEpfSB8IFs3LDgpCisoMiByb3dzKQorCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb MTUsMTYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxNSwxNiknKTsK K1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1sxNiwxNyknIFdI RVJFIGlkID0gJ1sxNSwxNiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwLDExKSc7CisgICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEwLDExKSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCBbMTYsMTcpCisgWzEw LDExKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTUsMTYpCisoMiByb3dzKQorCiAt LQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKIC0tCitUUlVO Q0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcg KGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzUsNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRy bmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAx OS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzUs NiknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzUsNikgfCB7WzIwMTgtMDEt MDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzgsOSkKKygxIHJvdykK KworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1s4 LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbNSw2KSc7CisgaWQgfCB2YWxpZF9hdCB8IHBhcmVudF9pZCAKKy0tLS0r LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorKDAgcm93cykKKworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNywxOCknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzE3LDE4KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIx LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTcsMTgp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hFUkUgaWQgPSAn WzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTEs MTIpJzsKKyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTEs MTIpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsxNywxOCkKKygxIHJvdykKKwogLS0K IC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAogLS0KK1RSVU5D QVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1s5LDEwKScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZwogICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZ19maywKICAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFydGl0aW9uZWRf ZmtfbWx0cm5nMm1sdHJuZ19mawogICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKICAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZwogICAg IE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7Ci1FUlJPUjogIHVuc3VwcG9y dGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVS SU9ECitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0w MScpKSkgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzYs NyknOworICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAg ICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzYsNykgfCB7WzIwMTktMDEt MDEsMjAyMC0wMS0wMSl9ICAgICAgICAgICAgICAgICAgICAgICAgIHwgCisgWzYsNykgfCB7WzIw MTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzksMTApCiso MiByb3dzKQorCitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdb MTAsMTEpJyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKKyAgaWQgICB8ICAg ICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRf aWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFs2LDcpIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAg ICAgICAgICAgICAgICAgICAgICAgICB8IAorIFs2LDcpIHwge1syMDE4LTAxLTAxLDIwMTktMDEt MDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IAorKDIgcm93cykKKworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwx OSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzE4LDE5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTIsMTMp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbMTgsMTkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9 ICdbMTksMjApJyBXSEVSRSBpZCA9ICdbMTgsMTkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEt MDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMiwxMyknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFsxMiwxMykgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwg CisgWzEyLDEzKSB8IHtbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTgsMTkpCisoMiByb3dz KQorCiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCiAt LQorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxMSwxMiknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzcsOCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSwgJ1sxMSwxMiknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRp dGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1sxMSwxMikn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1s3LDgpJzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQg ICAgICAgICAgICAgICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs3LDgp IHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IAor IFs3LDgpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEp fSB8IFsxMSwxMikKKygyIHJvd3MpCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVk X21sdHJuZyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNyw4KSc7CisgIGlkICAgfCAg ICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50 X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNyw4KSB8IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0g ICAgICAgICAgICAgICAgICAgICAgICAgfCAKKyBbNyw4KSB8IHtbMjAxOC0wMS0wMSwyMDE5LTAx LTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCAKKygyIHJvd3MpCisKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAs MjEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEzLDE0 KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp LCAnWzIwLDIxKScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdI RVJFIGlkID0gJ1syMCwyMSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEzLDE0KSc7CisgICBpZCAgICB8ICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzEzLDE0KSB8IHtbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKX0gfCAKKyBbMTMsMTQpIHwg e1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsyMCwyMSkKKygyIHJvd3MpCisKIC0tCiAtLSBw YXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKIC0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzAsMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVs bCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbMTIsMTMpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1swLDEp JywKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRy bmdfZmssCkBAIC0yNjUwLDEwICs0MTU3LDY3IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX21sdHJuZzJtbHRybmcKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcK ICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOwotRVJST1I6 ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtleSBjb25zdHJhaW50 IHVzaW5nIFBFUklPRAorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbOCw5KSc7CisgIGlkICAgfCAgICAgICAgICAgICAgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbOCw5KSB8 IHtbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbMCwx KQorIFs4LDkpIHwge1syMDE4LTAxLTAxLDIwMTktMDEtMDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEt MDEpfSB8IFsxMiwxMykKKygyIHJvd3MpCisKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgU0VUIGlkID0gJ1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s4 LDkpJzsKKyAgaWQgICB8ICAgICAgICAgICAgICAgICAgICAgdmFsaWRfYXQgICAgICAgICAgICAg ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs4LDkpIHwge1syMDE5LTAx LTAxLDIwMjAtMDEtMDEpfSAgICAgICAgICAgICAgICAgICAgICAgICB8IFswLDEpCisgWzgsOSkg fCB7WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSksWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSl9IHwgWzAs MSkKKygyIHJvd3MpCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAo aWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMiwyMyknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzE0LDE1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzIyLDIzKScpOworVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzIzLDI0KScgV0hFUkUgaWQgPSAnWzIyLDIz KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsK KyAgIGlkICAgIHwgICAgICAgICB2YWxpZF9hdCAgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTQsMTUpIHwg e1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpfSB8IFswLDEpCisgWzE0LDE1KSB8IHtbMjAyMC0wMS0w MSwyMDIxLTAxLTAxKX0gfCBbMjIsMjMpCisoMiByb3dzKQorCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUCiAtLQorVFJVTkNBVEUgdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQp IFZBTFVFUyAoJ1swLDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzE0LDE1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbOSwxMCknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sx NCwxNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywg JzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1sxNCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7Cisg ICBpZCAgIHwgICAgICAgICAgICAgICAgICAgICB2YWxpZF9hdCAgICAgICAgICAgICAgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFs5LDEwKSB8IHtbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKX0gICAgICAgICAgICAgICAgICAgICAgICAgfCBbMCwxKQorIFs5LDEwKSB8IHtb MjAxOC0wMS0wMSwyMDE5LTAxLTAxKSxbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKX0gfCBbMTQsMTUp CisoMiByb3dzKQorCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hF UkUgaWQgPSAnWzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzksMTApJzsKKyAgIGlkICAgfCAgICAgICAgICAg ICAgICAgICAgIHZhbGlkX2F0ICAgICAgICAgICAgICAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzksMTApIHwge1syMDE5LTAxLTAxLDIwMjAtMDEtMDEpfSAgICAgICAg ICAgICAgICAgICAgICAgICB8IFswLDEpCisgWzksMTApIHwge1syMDE4LTAxLTAxLDIwMTktMDEt MDEpLFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFswLDEpCisoMiByb3dzKQorCitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sx NSwxNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSwgJ1syNCwyNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJu ZyBXSEVSRSBpZCA9ICdbMjQsMjUpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1sxNSwxNiknOworICAgaWQgICAgfCAgICAgICAgIHZhbGlkX2F0ICAgICAgICAg IHwgcGFyZW50X2lkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLQorIFsxNSwxNikgfCB7WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSl9IHwgWzAsMSkKKyBb MTUsMTYpIHwge1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpfSB8IFsyNCwyNSkKKygyIHJvd3MpCisK IERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKIERST1Ag VEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nOwogUkVTRVQgZGF0ZXN0eWxlOwpkaWZm IC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgYi9zcmMv dGVzdC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAppbmRleCBjNWM4OWZlNDBhYi4u MjI0ZGRlZjg0MzAgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3Zl cmxhcHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dpdGhvdXRfb3ZlcmxhcHMuc3Fs CkBAIC0xNDI0LDggKzE0MjQsMjYgQEAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZwog LS0KIC0tIHJuZzJybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKIC0tCistLSBUT0M6 CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENB U0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUg KHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29s cykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1 YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERF RkFVTFQgc3Vic2V0KQogCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQorLS0KKwogVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOwogSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CiBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CkBAIC0x NDM0LDI4ICsxNDUyLDM0NiBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nCiAgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9 ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19y bmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g bm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbNyw4KScgV0hF UkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy MDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCisK K1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBp ZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKIAorLS0KIC0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBO VUxMCistLQorCiBUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3JuZzJybmc7CiBJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKIElOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsK ICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBO VUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBT RVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcs OCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAn WzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVM TAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJyk7CistLSBs ZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5n IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OwogCistLQogLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIERFRkFVTFQKKy0tCisKIFRSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtf cm5nMnJuZzsKIElOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbLTEsLTFdJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKIElOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIxLTAxLTAxJykpOwogSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScpOwogQUxURVIgVEFCTEUgdGVtcG9yYWxf Zmtfcm5nMnJuZwogICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKICAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRl OgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCBy b3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlcmFuZ2Uo JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Ju ZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK1VQREFURSB0ZW1w b3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9h dCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVs bCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcp Jyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0w MScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnJu ZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVt cG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMg KCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYs NyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycm5nCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAg IE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0 ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr Ml9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBj b2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s2LDcpJywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwx MDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSkn LCBkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx JyksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1w b3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBO VUxMIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0w MScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAx KScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVt cG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYs NyknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9p ZDIpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJyksICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5n MnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAo aWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVyYW5nZSgn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywg J1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScg QU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNj YWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcy LCB0ZW1wb3JhbF9mazJfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAx KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbNiw3KScsICdbNiw3 KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBO VUxMICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfcm5nMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJy bmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9p ZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVM RVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBh Y3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIw MjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOCw5KScsICdb OCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBz Y2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9y bmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBkYXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m azJfcm5nMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0x XScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcm5nMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcy CisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAn WzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQg aWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBT RVQgaWQxID0gJ1s5LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3Ju ZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIGRhdGVyYW5nZShudWxsLCBudWxsKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScpLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVF UyAoJ1syMDAsMjAxKScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdb OCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9ybmcycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3JuZzJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCBk YXRlcmFuZ2UobnVsbCwgbnVsbCkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBp ZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsIGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s2LDcpJywgJ1s2LDcp Jyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lk MSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cm5nMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAo dmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVt cG9yYWxfZmsyX3JuZzJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQg J1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJybmdfZmssCisg IEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9O IFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3JuZzJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlcmFuZ2UoJzIwMjAt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIGRhdGVyYW5nZShudWxs LCBudWxsKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAogLS0KIC0tIHRlc3Qg Rk9SRUlHTiBLRVksIG11bHRpcmFuZ2UgcmVmZXJlbmNlcyBtdWx0aXJhbmdlCkBAIC0xODU1LDYg KzIxOTEsNDA4IEBAIFdIRVJFIGlkID0gJ1s1LDYpJzsKIERFTEVURSBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzMsNCknOwogREVMRVRFIEZST00gdGVtcG9yYWxf bWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpKTsKIAorLS0KKworLS0KKy0tIG1s dHJuZzJtbHRybmcgdGVzdCBPTiBVUERBVEUvREVMRVRFIG9wdGlvbnMKKy0tCistLSBUT0M6Cist LSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVz IFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3 byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFy IGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNl dCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQor LS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFV TFQgc3Vic2V0KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQor LS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRl bXBvcmFsX2ZrX21sdHJuZzJtbHRybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21s dHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERB VEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFs X21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRh dGU6CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlk ID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byBy ZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0 cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11 bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScp OworVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdb OCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NB REUKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5nMm1s dHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CistLSBsZWZ0b3Zl cnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIw MjAtMDEtMDEnKSkpIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf bWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAx KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp LCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9ICdbOCw5 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxM CistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcsIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRf YXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf bWx0cm5nMm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfbWx0cm5nMm1s dHJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZworICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBV UERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBX SEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8g dXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0 d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgs OSknKTsKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBT RVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nLCB0ZW1wb3JhbF9ma19tbHRy bmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAxKScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzYsNyknKTsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIEZPUiBQ T1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEn LCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRy bmcgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19tbHRybmcy bWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRy bmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nIFdIRVJFIGlkID0g J1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0 cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYs NyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVt cG9yYWxfZmtfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZB VUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9tbHRybmcKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNF VCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxf bWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0w MScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfbWx0cm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX21sdHJuZywgdGVtcG9yYWxfZmtfbWx0cm5n Mm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJu ZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7Cist LSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZyBXSEVSRSBpZCA9 ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdv IHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0w MScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2Zr X21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJu ZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n X2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxp ZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgQ0FT Q0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBE QVRFIHRlbXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJh bmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQxID0gJ1s3 LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdb Nyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdb OSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQg PSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJl ZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FU RSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRl bXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcp JywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRl bXBvcmFsX21sdHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb MTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVM RVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMSknIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScs ICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMjAwLDIwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAx LTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKwor VFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSks ICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBT RVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX21s dHJuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBk YXRlOgorVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hF UkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5 KScpOworVVBEQVRFIHRlbXBvcmFsX21sdHJuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlk MSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0 cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9t bHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOwor LS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTkt MDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBv cmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgs OSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScp KSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAs MjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0K KworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRy bmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwx MDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KSksICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRo ZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrLAorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZ19maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9tbHRybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxMICh2YWxpZF9hdCkgT04g VVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nX2ZrCisgICAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVu dF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgor REVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0g J1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZl cmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFs aWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdl KCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0 cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRf YXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0 cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2Nh bGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJf bWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50 X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VU IERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVM VCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJu Z19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVM VCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQ REFURSB0ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VUIGlkMSA9ICdb Nyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9tbHRy bmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5n ZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFU RSB0ZW1wb3JhbF9tbHRybmcyIFNFVCBpZDEgPSAnWzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbMjAwLDIw MSknIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBk ZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1w b3JhbF9tbHRybmcyLCB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdb LTEsLTFdJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKG51bGwsIG51bGwpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcp JywgJ1s2LDcpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2 YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDEpJywgZGF0 ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbNiw3 KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9tbHRybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX21sdHJuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDEpJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgZGF0ZW11bHRpcmFuZ2UoZGF0 ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lk MikgVkFMVUVTICgnWzIwMCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfbWx0cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0w MS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdI RVJFIGlkID0gJ1syMDAsMjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scywgU0VU IERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfbWx0cm5nMiwgdGVtcG9y YWxfZmsyX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9tbHRybmcyIChpZDEs IGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzYsNyknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBw YXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWls cyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfbWx0cm5nMm1sdHJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQg REVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfbWx0cm5n Mm1sdHJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmdf ZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfbWx0cm5nMgorICAgIE9OIERFTEVURSBTRVQg REVGQVVMVCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIG9rOgorQUxURVIg VEFCTEUgdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9p ZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X21sdHJuZzJtbHRybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9tbHRybmcy bWx0cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX21sdHJuZzIKKyAgICBPTiBERUxF VEUgU0VUIERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxl ZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAx JywgJzIwMjAtMDEtMDEnKSkpIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9t bHRybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9tbHRybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfbWx0cm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX21sdHJuZzIgKGlkMSwgaWQy LCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX21sdHJuZzJt bHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDEpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSksICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfbWx0cm5nMiBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1syMDAs MjAxKScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLSBGSyB3aXRoIGEgY3VzdG9tIHJhbmdl IHR5cGUKKworQ1JFQVRFIFRZUEUgbXlkYXRlcmFuZ2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsK KworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2F0IG15ZGF0ZXJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9mazNfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFu Z2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3Ju ZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmczIChpZCwgUEVS SU9EIHZhbGlkX2F0KSBPTiBERUxFVEUgQ0FTQ0FERQorKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzMgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmczIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19y bmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9mazNfcm5n MnJuZzsKK0RST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKK0RST1AgVFlQRSBteWRhdGVyYW5nZTsK KwogLS0KIC0tIEZLIGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiByYW5nZXMKIC0tCkBAIC0x ODY1LDggKzI2MDMsOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nICgK ICAgbmFtZSB0ZXh0LAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfcm5nX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKICkgUEFSVElUSU9OIEJZ IExJU1QgKGlkKTsKLUNSRUFURSBUQUJMRSB0cDEgcGFydGl0aW9uIE9GIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcs OCknLCAnWzksMTApJywgJ1sxMSwxMiknKTsKLUNSRUFURSBUQUJMRSB0cDIgcGFydGl0aW9uIE9G IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzIsMyknLCAnWzQsNSkn LCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMpJyk7CitDUkVBVEUgVEFCTEUg dHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAo J1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIpJywg J1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScsICdb MjMsMjQpJyk7CitDUkVBVEUgVEFCTEUgdHAyIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywgJ1syLDMpJywgJ1s0LDUpJywgJ1s2LDcp JywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScsICdbMTQsMTUpJywgJ1sxNiwxNyknLCAn WzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAnWzI0LDI1KScpOwogSU5TRVJUIElOVE8g dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQsIG5hbWUpIFZBTFVFUwogICAo J1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDItMDEnKSwgJ29uZScpLAog ICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAxJywgJzIwMDAtMDMtMDEnKSwgJ29uZScp LApAQCAtMTg4MCw4ICsyNjE4LDggQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKAogICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQogKSBQ QVJUSVRJT04gQlkgTElTVCAoaWQpOwotQ1JFQVRFIFRBQkxFIHRma3AxIHBhcnRpdGlvbiBPRiB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdb Myw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScpOwotQ1JFQVRFIFRB QkxFIHRma3AyIHBhcnRpdGlvbiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIEZP UiBWQUxVRVMgSU4gKCdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEp JywgJ1sxMiwxMyknKTsKK0NSRUFURSBUQUJMRSB0ZmtwMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAn WzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYp JywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0NSRUFURSBU QUJMRSB0ZmtwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBG T1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSkn LCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywg J1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBG SyByZWZlcmVuY2luZyBpbnNlcnRzCkBAIC0xOTQwLDM2ICsyNjc4LDkwIEBAIERFTEVURSBGUk9N IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0 ID0gZGF0ZXJhbmdlCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcy cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzYsNyknKTsKIEFMVEVSIFRBQkxFIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBP TiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s0LDUp JzsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1s3LDgpJyBXSEVS RSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzQsNSknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9u ZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNSwxNiknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYpJywgZGF0ZXJhbmdlKCcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9m a19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwLDExKScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMTUsMTYpJyk7CitVUERBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIFNFVCBpZCA9ICdbMTYsMTcpJyBXSEVSRSBpZCA9ICdb MTUsMTYpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1sxMCwxMSknOwog CiAtLQogLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKIC0tCiAK K1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSwgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8g JzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzgsOSknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbMTcsMTgpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzE3LDE4KScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJykpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1sxMSwxMiknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpLCAnWzE3LDE4KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5n IFdIRVJFIGlkID0gJ1sxNywxOCknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUgaWQg PSAnWzExLDEyKSc7CisKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOSwxMCknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbOSwxMCknKTsKIEFMVEVSIFRB QkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCiAgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmsKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9y bmcKICAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworVVBEQVRFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5 LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1sxMCwxMSknIFdIRVJFIGlkID0gJ1s5 LDEwKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hF UkUgaWQgPSAnWzYsNyknOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBTRVQgaWQg PSAnWzEwLDExKScgV0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE4LDE5KScs IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxOCwxOSknLCBk YXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMTIsMTMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sx OCwxOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1sxOSwy MCknIFdIRVJFIGlkID0gJ1sxOCwxOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgV0hFUkUg aWQgPSAnWzEyLDEzKSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0 ZXMgU0VUIE5VTEwKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZywgdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTEsMTIpJywgZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzcsOCkn LCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzExLDEyKScpOworREVM RVRFIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9 ICdbNyw4KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQg PSAnWzExLDEyKSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJy bmcgV0hFUkUgaWQgPSAnWzcsOCknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syMCwyMSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZXJhbmdlKCcyMDIwLTAxLTAx JywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEzLDE0KScsIGRhdGVy YW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjAsMjEpJyk7CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzIwLDIxKScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTMsMTQpJzsKKwogLS0KIC0tIHBhcnRpdGlv bmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAogLS0KIAorVFJVTkNBVEUgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVF UyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZXJh bmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzgsOSknLCBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzEyLDEzKScp OwogQUxURVIgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZwogICBBTFRFUiBD T0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKICAgRFJPUCBDT05TVFJBSU5U IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdfZmssCkBAIC0xOTc3LDExICsyNzY5LDM0 IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcKICAgICBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ybmcKICAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRF IFNFVCBERUZBVUxUOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0g J1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1VQREFURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ybmcgU0VUIGlkID0gJ1sxMywxNCknIFdIRVJFIGlkID0gJ1sxMiwxMykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIFdIRVJFIGlk ID0gJ1s4LDkpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVyYW5nZSgnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJykpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzIyLDIzKScpOworVVBEQVRFIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBTRVQgaWQgPSAnWzIzLDI0KScgV0hFUkUgaWQgPSAnWzIyLDIzKScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKIAogLS0KIC0tIHBhcnRp dGlvbmVkIEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAogLS0KIAorVFJVTkNBVEUg dGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1swLDEpJywgZGF0ZXJhbmdlKG51bGwsIG51bGwpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTQsMTUpJywgZGF0 ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzksMTApJywgZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSwgJ1sxNCwx NSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzE0LDE1KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcg V0hFUkUgaWQgPSAnWzksMTApJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3Ju ZyBXSEVSRSBpZCA9ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1syNCwyNSknLCBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZXJhbmdl KCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9ma19ybmcycm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzE1 LDE2KScsIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyksICdbMjQsMjUpJyk7 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgV0hFUkUgaWQgPSAnWzI0LDI1 KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBXSEVSRSBpZCA9ICdbMTUsMTYpJzsKKwogRFJP UCBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nOwogRFJPUCBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ybmc7CiAKQEAgLTIwNzAsMzYgKzI4ODUsOTAgQEAgREVMRVRFIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFs aWRfYXQgPSBkYXRlbXUKIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVND QURFCiAtLQogCitUUlVOQ0FURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0 aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCBkYXRlbXVsdGly YW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTICgnWzQsNSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1s2LDcpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFydGl0aW9u ZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CitVUERB VEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChk YXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzQsNSknOworVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbNCw1KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzE1LDE2KScsIGRhdGVtdWx0aXJhbmdl KGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTUsMTYp JywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMCwxMSknLCBkYXRlbXVsdGlyYW5nZShk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxNSwxNiknKTsKK1VQREFU RSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1sxNiwxNyknIFdIRVJFIGlk ID0gJ1sxNSwxNiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzEwLDExKSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FT Q0FERQogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgZGF0ZW11bHRp cmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IChkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTktMDEtMDEnLCAnMjAyMC0wMS0wMScpKSkgV0hFUkUgaWQgPSAnWzgs OSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1s1LDYpJzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNywxOCkn LCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpKSk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzE3LDE4KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAyMC0wMS0wMScs ICcyMDIxLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21s dHJuZzJtbHRybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTEsMTIpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdb MTcsMTgpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgV0hFUkUg aWQgPSAnWzE3LDE4KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9 ICdbMTEsMTIpJzsKKwogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTAogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nLCB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s5LDEwKScsIGRhdGVt dWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgKGlkLCB2YWxpZF9h dCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbNiw3KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzksMTApJyk7CiBBTFRFUiBUQUJMRSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nCiAgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrLAogICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nX2ZrCiAgICAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nCiAgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgKGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAx JykpKSBTRVQgaWQgPSAnWzEwLDExKScgV0hFUkUgaWQgPSAnWzksMTApJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbNiw3 KSc7CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTAsMTEp JyBXSEVSRSBpZCA9ICdbOSwxMCknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25l ZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s2LDcpJzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMTgsMTkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1sxOCwxOSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRy bmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEyLDEzKScsIGRh dGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykpLCAnWzE4 LDE5KScpOworVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBTRVQgaWQgPSAnWzE5 LDIwKScgV0hFUkUgaWQgPSAnWzE4LDE5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKIAogLS0KIC0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgTlVMTAogLS0KIAorVFJVTkNBVEUgdGVtcG9yYWxfcGFydGl0aW9uZWRf bWx0cm5nLCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sx MSwxMiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzcsOCknLCBkYXRlbXVsdGlyYW5n ZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1sxMSwxMiknKTsKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCAoZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEn KSkpIFdIRVJFIGlkID0gJ1sxMSwxMiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s3LDgpJzsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbMTEsMTIpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdb Nyw4KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxp ZF9hdCkgVkFMVUVTICgnWzIwLDIxKScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVk X21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjAsMjEpJywgZGF0ZW11bHRpcmFuZ2Uo ZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMywxNCknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScpKSwgJ1syMCwyMSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyBXSEVSRSBpZCA9ICdbMjAsMjEpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19t bHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1sxMywxNCknOworCiAtLQogLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCiAtLQogCitUUlVOQ0FURSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9tbHRybmcsIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRy bmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9h dCkgVkFMVUVTICgnWzAsMSknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UobnVsbCwgbnVsbCkp KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0 KSBWQUxVRVMgKCdbMTIsMTMpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf bWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s4LDkpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdb MTIsMTMpJyk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0 cm5nCiAgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1swLDEpJywKICAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmdfZmssCkBA IC0yMTA3LDExICsyOTc2LDM0IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2Zr X21sdHJuZzJtbHRybmcKICAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcKICAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworVVBEQVRFIHRlbXBvcmFs X3BhcnRpdGlvbmVkX21sdHJuZyBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCAoZGF0ZW11bHRpcmFu Z2UoZGF0ZXJhbmdlKCcyMDE5LTAxLTAxJywgJzIwMjAtMDEtMDEnKSkpIFNFVCBpZCA9ICdbMTMs MTQpJyBXSEVSRSBpZCA9ICdbMTIsMTMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitVUERBVEUgdGVtcG9y YWxfcGFydGl0aW9uZWRfbWx0cm5nIFNFVCBpZCA9ICdbMTMsMTQpJyBXSEVSRSBpZCA9ICdbMTIs MTMpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJu ZyBXSEVSRSBpZCA9ICdbOCw5KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9t bHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzIyLDIzKScsIGRhdGVtdWx0aXJhbmdlKGRh dGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMjIsMjMpJywg ZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVsdGlyYW5nZShkYXRl cmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSwgJ1syMiwyMyknKTsKK1VQREFURSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgU0VUIGlkID0gJ1syMywyNCknIFdIRVJFIGlkID0g J1syMiwyMyknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzE0 LDE1KSc7CiAKIC0tCiAtLSBwYXJ0aXRpb25lZCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERF RkFVTFQKIC0tCiAKK1RSVU5DQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZywgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1sdHJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX21sdHJuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbMCwxKScsIGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZShudWxsLCBudWxsKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFy dGl0aW9uZWRfbWx0cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1sxNCwxNSknLCBkYXRlbXVs dGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpKSk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQs IHBhcmVudF9pZCkgVkFMVUVTICgnWzksMTApJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSksICdbMTQsMTUpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgKGRhdGVtdWx0 aXJhbmdlKGRhdGVyYW5nZSgnMjAxOS0wMS0wMScsICcyMDIwLTAxLTAxJykpKSBXSEVSRSBpZCA9 ICdbMTQsMTUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5n Mm1sdHJuZyBXSEVSRSBpZCA9ICdbOSwxMCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcGFydGl0 aW9uZWRfbWx0cm5nIFdIRVJFIGlkID0gJ1sxNCwxNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5nIFdIRVJFIGlkID0gJ1s5LDEwKSc7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9tbHRybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzI0LDI1KScsIGRhdGVtdWx0aXJhbmdlKGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJykpKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMgKCdbMjQsMjUpJywgZGF0ZW11bHRpcmFuZ2UoZGF0ZXJhbmdlKCcy MDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKSkpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfbWx0cm5nMm1sdHJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1sxNSwxNiknLCBkYXRlbXVsdGlyYW5nZShkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpKSwgJ1syNCwyNSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21s dHJuZyBXSEVSRSBpZCA9ICdbMjQsMjUpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19tbHRybmcybWx0cm5n IFdIRVJFIGlkID0gJ1sxNSwxNiknOworCiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVk X2ZrX21sdHJuZzJtbHRybmc7CiBEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX21sdHJu ZzsKIAotLSAKMi4zOS41Cgo= --000000000000009ee706410496f4 Content-Type: text/x-patch; charset="US-ASCII"; name="v56-0011-Add-PERIODs.patch" Content-Disposition: attachment; filename="v56-0011-Add-PERIODs.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mgoro4qq10 RnJvbSBlMmM4YWUzODg5ZGY2ZWIxZDI2NjcwY2E4MjAzM2YwNGYwMzQwMjg0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUGF1bCBBLiBKdW5nd2lydGgiIDxwakBpbGx1bWluYXRlZGNv bXB1dGluZy5jb20+CkRhdGU6IFNhdCwgOSBKYW4gMjAyMSAyMTo1OTo0MyAtMDgwMApTdWJqZWN0 OiBbUEFUQ0ggdjU2IDExLzExXSBBZGQgUEVSSU9EcwoKLSBBZGRlZCBwYXJzaW5nIGZvciBTUUw6 MjAxMSBzeW50YXggdG8gZGVmaW5lIGFuIGFwcGxpY2F0aW9uLXRpbWUgUEVSSU9EIG9uIGEKICB0 YWJsZSAoaW4gYm90aCBDUkVBVEUgVEFCTEUgYW5kIEFMVEVSIFRBQkxFKS4gTWFrZSBzdXJlIHdl IGNyZWF0ZSB0aGUgUEVSSU9ECiAgYWZ0ZXIgY29sdW1ucyBhcmUga25vd24gKHNpbmNlIFBFUklP RHMgY2FuIHJlZmVyIHRvIHRoZW0pIGJ1dCBiZWZvcmUKICBjb25zdHJhaW50cyBhcmUgaGFuZGxl ZCAoc2luY2UgUEVSSU9EcyBjYW4gYXBwZWFyIGluIHRoZW0pLgotIEFkZGVkIEFMVEVSIFRBQkxF IERST1Agc3VwcG9ydCBmb3IgUEVSSU9Ecy4KLSBDcmVhdGVkIHBvc3RncmVzLnBnX3BlcmlvZCB0 YWJsZS4KLSBDcmVhdGVkIGluZm9ybWF0aW9uX3NjaGVtYS5wZXJpb2RzIHZpZXcuCi0gQWRkZWQg cGdfZHVtcCBzdXBwb3J0LgotIEFkZGVkIHRlc3RzIGFuZCBkb2N1bWVudGF0aW9uLgotIEF1dG9t YXRpY2FsbHkgZGVmaW5lIGEgY29uc3RyYWludCBmb3IgZWFjaCBQRVJJT0QgcmVxdWlyaW5nIHRo ZSBzdGFydCBjb2x1bW4KICB0byBiZSBsZXNzIHRoYW4gdGhlIGVuZCBjb2x1bW4uCi0gV2hlbiBj cmVhdGluZyBhIFBFUklPRCwgY2hvb3NlIGFuIGFwcHJvcHJpYXRlIHJhbmdlIHR5cGUgd2UgY2Fu IHVzZSB0bwogIGltcGxlbWVudCBQRVJJT0QtcmVsYXRlZCBvcGVyYXRpb25zLiBZb3UgY2FuIGNo b29zZSBvbmUgZXhwbGljaXRseSBpZiB0aGVyZQogIGlzIGFtYmlndWl0eSAoZHVlIHRvIG11bHRp cGxlIHJhbmdlIHR5cGVzIGNyZWF0ZWQgb3ZlciB0aGUgc2FtZSBiYXNlIHR5cGUpLgoKQXV0aG9y OiBQYXVsIEp1bmd3aXJ0aAotLS0KIGRvYy9zcmMvc2dtbC9jYXRhbG9ncy5zZ21sICAgICAgICAg ICAgICAgICAgICB8ICAxMTIgKwogZG9jL3NyYy9zZ21sL2RkbC5zZ21sICAgICAgICAgICAgICAg ICAgICAgICAgIHwgICA1OCArCiBkb2Mvc3JjL3NnbWwvaW5mb3JtYXRpb25fc2NoZW1hLnNnbWwg ICAgICAgICAgfCAgIDYzICsKIGRvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwgICAgICAgICAgICAg ICAgICAgICB8ICAgIDIgKy0KIGRvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfdGFibGUuc2dtbCAgICAg ICAgICAgICB8ICAgMzEgKy0KIGRvYy9zcmMvc2dtbC9yZWYvY29tbWVudC5zZ21sICAgICAgICAg ICAgICAgICB8ICAgIDIgKwogZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbCAgICAg ICAgICAgIHwgICA2NSArLQogZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbCAgICAgICAgICAg ICAgICAgIHwgICAyMSArLQogZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUuc2dtbCAgICAgICAgICAg ICAgICAgIHwgICAyMSArLQogZG9jL3NyYy9zZ21sL3RyaWdnZXIuc2dtbCAgICAgICAgICAgICAg ICAgICAgIHwgICAgOSArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZSAgICAgICAgICAg ICAgICAgIHwgICAgMSArCiBzcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jICAgICAgICAgICAg ICAgICAgfCAgICAyICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jICAgICAgICAg ICAgICB8ICAgMTMgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMgICAgICAgICAgICAgICAg ICAgIHwgICA3NSArCiBzcmMvYmFja2VuZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwg ICAgfCAgIDIzICstCiBzcmMvYmFja2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkICAgICAgICAgICAg ICAgfCAgICAxICsKIHNyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5jICAgICAgICAg ICB8ICAgNzIgKwogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19jb25zdHJhaW50LmMgICAgICAgICAg IHwgICAxMCArLQogc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYyAgICAgICAgICAgICAg IHwgIDEzMiArCiBzcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQgICAgICAgICAg fCAgICAyICstCiBzcmMvYmFja2VuZC9jb21tYW5kcy9jb21tZW50LmMgICAgICAgICAgICAgICAg fCAgIDEwICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3BjbWRzLmMgICAgICAgICAgICAgICB8 ICAgIDEgKwogc3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jICAgICAgICAgIHwg ICAgMiArCiBzcmMvYmFja2VuZC9jb21tYW5kcy9zZWNsYWJlbC5jICAgICAgICAgICAgICAgfCAg ICAxICsKIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8ICA5 NTcgKysrLQogc3JjL2JhY2tlbmQvY29tbWFuZHMvdHJpZ2dlci5jICAgICAgICAgICAgICAgIHwg ICAgMiArCiBzcmMvYmFja2VuZC9jb21tYW5kcy92aWV3LmMgICAgICAgICAgICAgICAgICAgfCAg ICA0ICstCiBzcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYyAgICAgICAgfCAg IDQxICstCiBzcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYyAgICAgICAgICAgICAgICAgfCAg ICAzICsKIHNyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMgICAgICAgICAgICAgICAgICB8ICAx MjkgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgICAgICAgICAgICAgICAgICAgICB8ICAg NDUgKy0KIHNyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jICAgICAgICAgICB8ICAg MTAgKwogc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyAgICAgICAgICAgIHwgIDE4 MiArLQogc3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlICAgICAgICAgICAgICAgIHwgICAg MSArCiBzcmMvYmFja2VuZC91dGlscy9hZHQvcGVyaW9kLmMgICAgICAgICAgICAgICAgfCAgIDU4 ICsKIHNyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jICAgICAgICAgICB8ICAgODgg Kwogc3JjL2Jpbi9wZ19kdW1wL3BnX2JhY2t1cF9hcmNoaXZlci5jICAgICAgICAgIHwgICAgMSAr CiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jICAgICAgICAgICAgICAgICAgICAgfCAgMTgwICst CiBzcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oICAgICAgICAgICAgICAgICAgICAgfCAgIDE1ICsK IHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyAgICAgICAgICAgICAgICB8ICAgMjQgKwog c3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAzNiArCiBz cmMvaW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlICAgICAgICAgICAgICAgICAgfCAgICAxICsKIHNy Yy9pbmNsdWRlL2NhdGFsb2cvaGVhcC5oICAgICAgICAgICAgICAgICAgICB8ICAgIDQgKwogc3Jj L2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZCAgICAgICAgICAgICAgIHwgICAgMSArCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaCAgICAgICAgICAgfCAgICAzICstCiBzcmMv aW5jbHVkZS9jYXRhbG9nL3BnX2luZGV4LmggICAgICAgICAgICAgICAgfCAgICAxIC0KIHNyYy9p bmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmggICAgICAgICAgICAgICB8ICAgNTggKwogc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19yYW5nZS5oICAgICAgICAgICAgICAgIHwgICAgMiArCiBzcmMvaW5j bHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaCAgICAgICAgICAgICAgfCAgICA0ICstCiBzcmMvaW5j bHVkZS9ub2Rlcy9leGVjbm9kZXMuaCAgICAgICAgICAgICAgICAgfCAgICA0ICsKIHNyYy9pbmNs dWRlL25vZGVzL3BhcnNlbm9kZXMuaCAgICAgICAgICAgICAgICB8ICAgMzkgKy0KIHNyYy9pbmNs dWRlL25vZGVzL3ByaW1ub2Rlcy5oICAgICAgICAgICAgICAgICB8ICAgIDIgKwogc3JjL2luY2x1 ZGUvcGFyc2VyL2t3bGlzdC5oICAgICAgICAgICAgICAgICAgIHwgICAgMiArLQogc3JjL2luY2x1 ZGUvcGFyc2VyL3BhcnNlX3V0aWxjbWQuaCAgICAgICAgICAgIHwgICAgMSArCiBzcmMvaW5jbHVk ZS91dGlscy9sc3lzY2FjaGUuaCAgICAgICAgICAgICAgICAgfCAgICAzICsKIHNyYy9pbmNsdWRl L3V0aWxzL3BlcmlvZC5oICAgICAgICAgICAgICAgICAgICB8ICAgMjEgKwogLi4uL3Rlc3RfZGRs X2RlcGFyc2UvdGVzdF9kZGxfZGVwYXJzZS5jICAgICAgIHwgICAgNiArCiBzcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL2Zvcl9wb3J0aW9uX29mLm91dCAgfCAgIDU4ICsKIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcGVyaW9kcy5vdXQgICAgICAgICB8ICAzMTggKysKIHNyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQgICAgICB8ICAgMjkgKwogLi4uL3JlZ3Jlc3MvZXhw ZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQgICAgIHwgNDUwMCArKysrKysrKysrKysrKysrLQog c3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZSAgICAgICAgICAgIHwgICAgMiArLQog c3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsICAgICAgIHwgICA1MCArCiBz cmMvdGVzdC9yZWdyZXNzL3NxbC9wZXJpb2RzLnNxbCAgICAgICAgICAgICAgfCAgMTk4ICsKIHNy Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3ByaXZpbGVnZXMuc3FsICAgICAgICAgICB8ICAgMjggKwogc3Jj L3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFwcy5zcWwgICAgIHwgMzA2MyArKysrKysr KysrLQogc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICAgIHwgICAg MyArCiA2NyBmaWxlcyBjaGFuZ2VkLCAxMDY4NSBpbnNlcnRpb25zKCspLCAyMjEgZGVsZXRpb25z KC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZXJpb2QuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmgKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmMvaW5jbHVkZS91dGlscy9wZXJpb2QuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGVyaW9kcy5vdXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmMvdGVzdC9yZWdyZXNzL3NxbC9wZXJpb2RzLnNxbAoKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dt bC9jYXRhbG9ncy5zZ21sIGIvZG9jL3NyYy9zZ21sL2NhdGFsb2dzLnNnbWwKaW5kZXggOWIzYWFl ODYwM2IuLjFhNWJiMTBmYTNiIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dt bAorKysgYi9kb2Mvc3JjL3NnbWwvY2F0YWxvZ3Muc2dtbApAQCAtMjMwLDYgKzIzMCwxMSBAQAog ICAgICAgPGVudHJ5PmluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiBrZXkgb2YgdGFibGVzPC9l bnRyeT4KICAgICAgPC9yb3c+CiAKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGluayBsaW5r ZW5kPSJjYXRhbG9nLXBnLXBlcmlvZCI+PHN0cnVjdG5hbWU+cGdfcGVyaW9kPC9zdHJ1Y3RuYW1l PjwvbGluaz48L2VudHJ5PgorICAgICAgPGVudHJ5PnBlcmlvZHM8L2VudHJ5PgorICAgICA8L3Jv dz4KKwogICAgICA8cm93PgogICAgICAgPGVudHJ5PjxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGct cG9saWN5Ij48c3RydWN0bmFtZT5wZ19wb2xpY3k8L3N0cnVjdG5hbWU+PC9saW5rPjwvZW50cnk+ CiAgICAgICA8ZW50cnk+cm93LXNlY3VyaXR5IHBvbGljaWVzPC9lbnRyeT4KQEAgLTU3NzMsNiAr NTc3OCwxMTMgQEAgU0NSQU0tU0hBLTI1NiQ8cmVwbGFjZWFibGU+Jmx0O2l0ZXJhdGlvbiBjb3Vu dCZndDs8L3JlcGxhY2VhYmxlPjo8cmVwbGFjZWFibGU+JmwKICAgICAgICBhcmUgc2ltcGxlIHJl ZmVyZW5jZXMuCiAgICAgICA8L3BhcmE+PC9lbnRyeT4KICAgICAgPC9yb3c+CisKKyAgICA8L3Ri b2R5PgorICAgPC90Z3JvdXA+CisgIDwvdGFibGU+CisgPC9zZWN0MT4KKworCisgPHNlY3QxIGlk PSJjYXRhbG9nLXBnLXBlcmlvZCI+CisgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19wZXJpb2Q8L3N0 cnVjdG5hbWU+PC90aXRsZT4KKworICA8aW5kZXh0ZXJtIHpvbmU9ImNhdGFsb2ctcGctcGVyaW9k Ij4KKyAgIDxwcmltYXJ5PnBnX3BlcmlvZDwvcHJpbWFyeT4KKyAgPC9pbmRleHRlcm0+CisKKyAg PHBhcmE+CisgICBUaGUgY2F0YWxvZyA8c3RydWN0bmFtZT5wZ19wZXJpb2Q8L3N0cnVjdG5hbWU+ IHN0b3JlcworICAgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIGFuZCBhcHBsaWNhdGlvbiB0aW1l IHBlcmlvZHMuCisgIDwvcGFyYT4KKworICA8cGFyYT4KKyAgIFBlcmlvZHMgYXJlIGRlc2NyaWJl ZCBpbiA8eHJlZiBsaW5rZW5kPSJkZGwtcGVyaW9kcyIvPi4KKyAgPC9wYXJhPgorCisgIDx0YWJs ZT4KKyAgIDx0aXRsZT48c3RydWN0bmFtZT5wZ19wZXJpb2Q8L3N0cnVjdG5hbWU+IENvbHVtbnM8 L3RpdGxlPgorCisgICA8dGdyb3VwIGNvbHM9IjEiPgorICAgIDx0aGVhZD4KKyAgICAgPHJvdz4K KyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1 bW5fZGVmaW5pdGlvbiI+CisgICAgICAgQ29sdW1uIFR5cGUKKyAgICAgIDwvcGFyYT4KKyAgICAg IDxwYXJhPgorICAgICAgIERlc2NyaXB0aW9uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAg PC9yb3c+CisgICAgPC90aGVhZD4KKworICAgIDx0Ym9keT4KKyAgICAgPHJvdz4KKyAgICAgIDxl bnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5p dGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPm9pZDwvc3RydWN0ZmllbGQ+IDx0eXBlPm9pZDwv dHlwZT4KKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFJvdyBpZGVudGlmaWVy CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnBlcm5hbWU8L3N0cnVjdGZpZWxkPiA8dHlw ZT50ZXh0PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgUGVyaW9k IG5hbWUKKyAgICAgIDwvcGFyYT48L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8cm93Pgor ICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVt bl9kZWZpbml0aW9uIj4KKyAgICAgICA8c3RydWN0ZmllbGQ+cGVycmVsaWQ8L3N0cnVjdGZpZWxk PiA8dHlwZT5vaWQ8L3R5cGU+CisgICAgICAgKHJlZmVyZW5jZXMgPGxpbmsgbGlua2VuZD0iY2F0 YWxvZy1wZy1jbGFzcyI+PHN0cnVjdG5hbWU+cGdfY2xhc3M8L3N0cnVjdG5hbWU+PC9saW5rPi48 c3RydWN0ZmllbGQ+b2lkPC9zdHJ1Y3RmaWVsZD4pCisgICAgICA8L3BhcmE+CisgICAgICA8cGFy YT4KKyAgICAgICBUaGUgdGFibGUgdGhpcyBwZXJpb2QgYmVsb25ncyB0bworICAgICAgPC9wYXJh PjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0i Y2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAg ICAgIDxzdHJ1Y3RmaWVsZD5wZXJzdGFydDwvc3RydWN0ZmllbGQ+IDx0eXBlPmludDI8L3R5cGU+ CisgICAgICAgKHJlZmVyZW5jZXMgPGxpbmsgbGlua2VuZD0iY2F0YWxvZy1wZy1hdHRyaWJ1dGUi PjxzdHJ1Y3RuYW1lPnBnX2F0dHJpYnV0ZTwvc3RydWN0bmFtZT48L2xpbms+LjxzdHJ1Y3RmaWVs ZD5hdHRudW08L3N0cnVjdGZpZWxkPikKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAg ICAgIFRoZSBudW1iZXIgb2YgdGhlIHN0YXJ0IGNvbHVtbgorICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190 YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1 Y3RmaWVsZD5wZXJlbmQ8L3N0cnVjdGZpZWxkPiA8dHlwZT5pbnQyPC90eXBlPgorICAgICAgIChy ZWZlcmVuY2VzIDxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGctYXR0cmlidXRlIj48c3RydWN0bmFt ZT5wZ19hdHRyaWJ1dGU8L3N0cnVjdG5hbWU+PC9saW5rPi48c3RydWN0ZmllbGQ+YXR0bnVtPC9z dHJ1Y3RmaWVsZD4pCisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBUaGUgbnVt YmVyIG9mIHRoZSBlbmQgY29sdW1uCisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+ CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48 cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnBlcnJh bmdlPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+aW50MjwvdHlwZT4KKyAgICAgICAocmVmZXJlbmNlcyA8 bGluayBsaW5rZW5kPSJjYXRhbG9nLXBnLWF0dHJpYnV0ZSI+PHN0cnVjdG5hbWU+cGdfYXR0cmli dXRlPC9zdHJ1Y3RuYW1lPjwvbGluaz4uPHN0cnVjdGZpZWxkPmF0dG51bTwvc3RydWN0ZmllbGQ+ KQorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgVGhlIG51bWJlciBvZiB0aGUg PGxpdGVyYWw+R0VORVJBVEVEPC9saXRlcmFsPiBjb2x1bW4gdGhhdCBpbXBsZW1lbnRzIHRoZSA8 bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwv cm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRy eSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD5w ZXJjb25zdHJhaW50PC9zdHJ1Y3RmaWVsZD4gPHR5cGU+b2lkPC90eXBlPgorICAgICAgIChyZWZl cmVuY2VzIDxsaW5rIGxpbmtlbmQ9ImNhdGFsb2ctcGctY29uc3RyYWludCI+PHN0cnVjdG5hbWU+ cGdfY29uc3RyYWludDwvc3RydWN0bmFtZT48L2xpbms+LjxzdHJ1Y3RmaWVsZD5vaWQ8L3N0cnVj dGZpZWxkPikKKyAgICAgIDwvcGFyYT4KKyAgICAgIDxwYXJhPgorICAgICAgIFRoZSBPSUQgb2Yg dGhlIHBlcmlvZCdzIDxsaXRlcmFsPkNIRUNLPC9saXRlcmFsPiBjb25zdHJhaW50CisgICAgICA8 L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKICAgICA8L3Rib2R5PgogICAgPC90Z3JvdXA+ CiAgIDwvdGFibGU+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwgYi9kb2Mvc3Jj L3NnbWwvZGRsLnNnbWwKaW5kZXggNjViYzA3MGQyZTUuLmViZjFhYTYwNWI2IDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvZGRsLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC0x NDQ2LDYgKzE0NDYsNjQgQEAgQ1JFQVRFIFRBQkxFIGNpcmNsZXMgKAogICA8L3NlY3QyPgogIDwv c2VjdDE+CiAKKyA8c2VjdDEgaWQ9ImRkbC1wZXJpb2RzIj4KKyAgPHRpdGxlPlBlcmlvZHM8L3Rp dGxlPgorCisgIDxwYXJhPgorICAgUGVyaW9kcyBhcmUgZGVmaW5pdGlvbnMgb24gYSB0YWJsZSB0 aGF0IGFzc29jaWF0ZSBhIHBlcmlvZCBuYW1lIHdpdGggYSBzdGFydAorICAgY29sdW1uIGFuZCBh biBlbmQgY29sdW1uLiAgQm90aCBjb2x1bW5zIG11c3QgYmUgb2YgZXhhY3RseSB0aGUgc2FtZSB0 eXBlCisgICAoaW5jbHVkaW5nIGNvbGxhdGlvbikgYW5kIGhhdmUgYSByYW5nZSB0eXBlIHdob3Nl IGJhc2UgdHlwZSBtYXRjaGVzIHRob3NlIGNvbHVtbnMuCisgICBFdmVyeSByb3cncyBzdGFydCB2 YWx1ZSBtdXN0IGJlIHN0cmljdGx5IGxlc3MgdGhhbiBpdHMgZW5kIHZhbHVlLgorICA8L3BhcmE+ CisKKyAgPHBhcmE+CisgICBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIHBlcmlvZHM6IGFwcGxpY2F0 aW9uIGFuZCBzeXN0ZW0uICBTeXN0ZW0gcGVyaW9kcyBhcmUKKyAgIGRpc3Rpbmd1aXNoZWQgYnkg dGhlaXIgbmFtZSwgd2hpY2ggbXVzdCBiZSA8bGl0ZXJhbD5TWVNURU1fVElNRTwvbGl0ZXJhbD4u ICBBbnkKKyAgIG90aGVyIG5hbWUgaXMgYW4gYXBwbGljYXRpb24gcGVyaW9kLgorICA8L3BhcmE+ CisKKyAgPHNlY3QyIGlkPSJkZGwtcGVyaW9kcy1hcHBsaWNhdGlvbi1wZXJpb2RzIj4KKyAgPHRp dGxlPkFwcGxpY2F0aW9uIFBlcmlvZHM8L3RpdGxlPgorCisgICA8aW5kZXh0ZXJtPgorICAgIDxw cmltYXJ5PnBlcmlvZDwvcHJpbWFyeT4KKyAgICA8c2Vjb25kYXJ5PmFwcGxpY2F0aW9uPC9zZWNv bmRhcnk+CisgICA8L2luZGV4dGVybT4KKworICAgPHBhcmE+CisgICAgQXBwbGljYXRpb24gcGVy aW9kcyBhcmUgZGVmaW5lZCBvbiBhIHRhYmxlIHVzaW5nIHRoZSBmb2xsb3dpbmcgc3ludGF4Ogor ICAgPC9wYXJhPgorCis8cHJvZ3JhbWxpc3Rpbmc+CitDUkVBVEUgVEFCTEUgYmlsbGluZ19hZGRy ZXNzZXMgKAorICBjdXN0b21lcl9pZCBpbnRlZ2VyLAorICBhZGRyZXNzX2lkIGludGVnZXIsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdG8gZGF0ZSwKKyAgPGVtcGhhc2lzPlBFUklPRCBG T1IgdmFsaWRpdHkgKHZhbGlkX2Zyb20sIHZhbGlkX3RvKTwvZW1waGFzaXM+CispOworPC9wcm9n cmFtbGlzdGluZz4KKworICAgPHBhcmE+CisgICAgQXBwbGljYXRpb24gcGVyaW9kcyBjYW4gYmUg dXNlZCB0byBkZWZpbmUgdGVtcG9yYWwgcHJpbWFyeSBhbmQgZm9yZWlnbiBrZXlzLgorICAgIEFu eSB0YWJsZSB3aXRoIGFuIGFwcGxpY2F0aW9uIHBlcmlvZCBzdXBwb3J0cyB0ZW1wb3JhbCB1cGRh dGUgYW5kIGRlbGV0ZSBjb21tYW5kcy4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0Mj4KKworICA8c2Vj dDIgaWQ9ImRkbC1wZXJpb2RzLXN5c3RlbS1wZXJpb2RzIj4KKyAgIDx0aXRsZT5TeXN0ZW0gUGVy aW9kczwvdGl0bGU+CisKKyAgIDxpbmRleHRlcm0+CisgICAgPHByaW1hcnk+cGVyaW9kPC9wcmlt YXJ5PgorICAgIDxzZWNvbmRhcnk+c3lzdGVtPC9zZWNvbmRhcnk+CisgICA8L2luZGV4dGVybT4K KworICAgPHBhcmE+CisgICAgUGVyaW9kcyBmb3IgPGxpdGVyYWw+U1lTVEVNX1RJTUU8L2xpdGVy YWw+IGFyZSBjdXJyZW50bHkgbm90IGltcGxlbWVudGVkLgorICAgPC9wYXJhPgorICA8L3NlY3Qy PgorIDwvc2VjdDE+CisKICA8c2VjdDEgaWQ9ImRkbC1zeXN0ZW0tY29sdW1ucyI+CiAgIDx0aXRs ZT5TeXN0ZW0gQ29sdW1uczwvdGl0bGU+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9pbmZv cm1hdGlvbl9zY2hlbWEuc2dtbCBiL2RvYy9zcmMvc2dtbC9pbmZvcm1hdGlvbl9zY2hlbWEuc2dt bAppbmRleCAxOWRmZmU3YmU2YS4uOTFiMjY4ODFjNjUgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dt bC9pbmZvcm1hdGlvbl9zY2hlbWEuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvaW5mb3JtYXRpb25f c2NoZW1hLnNnbWwKQEAgLTQxNzEsNiArNDE3MSw2OSBAQCBPUkRFUiBCWSBjLm9yZGluYWxfcG9z aXRpb247CiAgIDwvdGFibGU+CiAgPC9zZWN0MT4KIAorIDxzZWN0MSBpZD0iaW5mb3NjaGVtYS1w ZXJpb2RzIj4KKyAgPHRpdGxlPjxsaXRlcmFsPnBlcmlvZHM8L2xpdGVyYWw+PC90aXRsZT4KKwor ICA8cGFyYT4KKyAgIFRoZSB2aWV3IDxsaXRlcmFsPnBlcmlvZHM8L2xpdGVyYWw+IGNvbnRhaW5z IGluZm9ybWF0aW9uIGFib3V0IHRoZQorICAgcGVyaW9kcyBvZiBhbGwgdGFibGVzIGluIHRoZSBj dXJyZW50IGRhdGFiYXNlLiAgVGhlIHN0YXJ0IGFuZCBlbmQgY29sdW1uCisgICBuYW1lcyBhcmUg b25seSBzaG93biBpZiB0aGUgY3VycmVudCB1c2VyIGhhcyBhY2Nlc3MgdG8gdGhlbSAoYnkgd2F5 IG9mIGJlaW5nCisgICB0aGUgb3duZXIgb3IgaGF2aW5nIHNvbWUgcHJpdmlsZWdlKS4KKyAgPC9w YXJhPgorCisgIDx0YWJsZT4KKyAgIDx0aXRsZT48bGl0ZXJhbD5wZXJpb2RzPC9saXRlcmFsPiBD b2x1bW5zPC90aXRsZT4KKworICAgPHRncm91cCBjb2xzPSIzIj4KKyAgICA8dGhlYWQ+CisgICAg IDxyb3c+CisgICAgICA8ZW50cnk+TmFtZTwvZW50cnk+CisgICAgICA8ZW50cnk+RGF0YSBUeXBl PC9lbnRyeT4KKyAgICAgIDxlbnRyeT5EZXNjcmlwdGlvbjwvZW50cnk+CisgICAgIDwvcm93Pgor ICAgIDwvdGhlYWQ+CisKKyAgICA8dGJvZHk+CisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxp dGVyYWw+dGFibGVfY2F0YWxvZzwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgPGVudHJ5Pjx0eXBl PnNxbF9pZGVudGlmaWVyPC90eXBlPjwvZW50cnk+CisgICAgICA8ZW50cnk+TmFtZSBvZiB0aGUg ZGF0YWJhc2UgY29udGFpbmluZyB0aGUgcGVyaW9kIChhbHdheXMgdGhlIGN1cnJlbnQgZGF0YWJh c2UpPC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeT48bGl0 ZXJhbD50YWJsZV9zY2hlbWE8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5z cWxfaWRlbnRpZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHNj aGVtYSBjb250YWluaW5nIHRoZSBwZXJpb2Q8L2VudHJ5PgorICAgICA8L3Jvdz4KKworICAgICA8 cm93PgorICAgICAgPGVudHJ5PjxsaXRlcmFsPnRhYmxlX25hbWU8L2xpdGVyYWw+PC9lbnRyeT4K KyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAg PGVudHJ5Pk5hbWUgb2YgdGhlIHRhYmxlIGNvbnRhaW5pbmcgdGhlIHBlcmlvZDwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+cGVyaW9kX25h bWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRpZmllcjwv dHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHBlcmlvZDwvZW50cnk+Cisg ICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnk+PGxpdGVyYWw+c3RhcnRfY29s dW1uX25hbWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAgICAgIDxlbnRyeT48dHlwZT5zcWxfaWRlbnRp ZmllcjwvdHlwZT48L2VudHJ5PgorICAgICAgPGVudHJ5Pk5hbWUgb2YgdGhlIHN0YXJ0IGNvbHVt biBmb3IgdGhlIHBlcmlvZDwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAg ICA8ZW50cnk+PGxpdGVyYWw+ZW5kX2NvbHVtbl9uYW1lPC9saXRlcmFsPjwvZW50cnk+CisgICAg ICA8ZW50cnk+PHR5cGU+c3FsX2lkZW50aWZpZXI8L3R5cGU+PC9lbnRyeT4KKyAgICAgIDxlbnRy eT5OYW1lIG9mIHRoZSBlbmQgY29sdW1uIGZvciB0aGUgcGVyaW9kPC9lbnRyeT4KKyAgICAgPC9y b3c+CisgICAgPC90Ym9keT4KKyAgIDwvdGdyb3VwPgorICA8L3RhYmxlPgorIDwvc2VjdDE+CisK ICA8c2VjdDEgaWQ9ImluZm9zY2hlbWEtcmVmZXJlbnRpYWwtY29uc3RyYWludHMiPgogICA8dGl0 bGU+PGxpdGVyYWw+cmVmZXJlbnRpYWxfY29uc3RyYWludHM8L2xpdGVyYWw+PC90aXRsZT4KIApk aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3BscGdzcWwuc2dtbCBiL2RvYy9zcmMvc2dtbC9wbHBn c3FsLnNnbWwKaW5kZXggZjUxOTk4NzJlMmUuLmRhYjk4NjRjOTRiIDEwMDY0NAotLS0gYS9kb2Mv c3JjL3NnbWwvcGxwZ3NxbC5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9wbHBnc3FsLnNnbWwKQEAg LTQyNTIsNyArNDI1Miw3IEBAIEFTU0VSVCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ Y29uZGl0aW9uPC9yZXBsYWNlYWJsZT4gPG9wdGlvbmFsPiAsIDxyZXBsCiAgICAgIDx0ZXJtPjx2 YXJuYW1lPlRHX1BFUklPRF9OQU1FPC92YXJuYW1lPiA8dHlwZT50ZXh0PC90eXBlPjwvdGVybT4K ICAgICAgPGxpc3RpdGVtPgogICAgICAgPHBhcmE+Ci0gICAgICAgdGhlIGNvbHVtbiBuYW1lIHVz ZWQgaW4gYSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLAorICAgICAg IHRoZSBjb2x1bW4vcGVyaW9kIG5hbWUgdXNlZCBpbiBhIDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9G PC9saXRlcmFsPiBjbGF1c2UsCiAgICAgICAgb3IgZWxzZSA8c3ltYm9sPk5VTEw8L3N5bWJvbD4u CiAgICAgICA8L3BhcmE+CiAgICAgIDwvbGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3Nn bWwvcmVmL2FsdGVyX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNn bWwKaW5kZXggODg2N2RhNmM2OTMuLjQwODJiNDRiZTc1IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3Nn bWwvcmVmL2FsdGVyX3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl90YWJs ZS5zZ21sCkBAIC02Miw2ICs2Miw4IEBAIEFMVEVSIFRBQkxFIFsgSUYgRVhJU1RTIF0gPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm5hbWU8L3JlcGxhY2VhYmxlPgogICAgIEFMVEVSIENP TlNUUkFJTlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwv cmVwbGFjZWFibGU+IFsgSU5IRVJJVCB8IE5PIElOSEVSSVQgXQogICAgIFZBTElEQVRFIENPTlNU UkFJTlQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbnN0cmFpbnRfbmFtZTwvcmVw bGFjZWFibGU+CiAgICAgRFJPUCBDT05TVFJBSU5UIFsgSUYgRVhJU1RTIF0gIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPiBbIFJFU1RS SUNUIHwgQ0FTQ0FERSBdCisgICAgQUREIFBFUklPRCBGT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gKCA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+c3RhcnRfY29sdW1uPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj5lbmRfY29sdW1uPC9yZXBsYWNlYWJsZT4gKSBbIFdJVEggKCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX29wdGlvbjwvcmVwbGFjZWFibGU+ID0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0g KSBdCisgICAgRFJPUCBQRVJJT0QgRk9SIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5w ZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IFsgUkVTVFJJQ1QgfCBDQVNDQURFIF0KICAgICBESVNB QkxFIFRSSUdHRVIgWyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dHJpZ2dlcl9uYW1l PC9yZXBsYWNlYWJsZT4gfCBBTEwgfCBVU0VSIF0KICAgICBFTkFCTEUgVFJJR0dFUiBbIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50cmlnZ2VyX25hbWU8L3JlcGxhY2VhYmxlPiB8IEFM TCB8IFVTRVIgXQogICAgIEVOQUJMRSBSRVBMSUNBIFRSSUdHRVIgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnRyaWdnZXJfbmFtZTwvcmVwbGFjZWFibGU+CkBAIC0xMTYsMTAgKzExOCwx MCBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJp Y19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogWyBDT05TVFJBSU5UIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPiBdCiB7IENIRUNL ICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Npb248L3JlcGxhY2VhYmxl PiApIFsgTk8gSU5IRVJJVCBdIHwKICAgTk9UIE5VTEwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWyBOTyBJTkhFUklUIF0gfAotICBVTklR VUUgWyBOVUxMUyBbIE5PVCBdIERJU1RJTkNUIF0gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBXSVRIT1VUIE9WRVJM QVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwv cmVwbGFjZWFibGU+IHwKLSAgUFJJTUFSWSBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBXSVRIT1VUIE9WRVJM QVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfcGFyYW1ldGVyczwv cmVwbGFjZWFibGU+IHwKKyAgVU5JUVVFIFsgTlVMTFMgWyBOT1QgXSBESVNUSU5DVCBdICggPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywg Li4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwv cmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiB8CisgIFBSSU1BUlkgS0VZ ICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJs ZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25h bWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rf bmFtZTwvcmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiB8CiAgIEVYQ0xV REUgWyBVU0lORyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+aW5kZXhfbWV0aG9kPC9y ZXBsYWNlYWJsZT4gXSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leGNsdWRlX2Vs ZW1lbnQ8L3JlcGxhY2VhYmxlPiBXSVRIIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5v cGVyYXRvcjwvcmVwbGFjZWFibGU+IFssIC4uLiBdICkgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxlPiBbIFdIRVJFICggPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnByZWRpY2F0ZTwvcmVwbGFjZWFibGU+ICkgXSB8Ci0gIEZP UkVJR04gS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9y ZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IF0gKSBSRUZFUkVOQ0VTIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwvcmVwbGFjZWFibGU+IFsgKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gIFss IFBFUklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNl YWJsZT4gXSApIF0KKyAgRk9SRUlHTiBLRVkgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgeyA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gXSAp IFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9yZXBs YWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48L3Jl cGxhY2VhYmxlPiBbLCAuLi4gXSAgWywgUEVSSU9EIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkgXQogICAgIFsgTUFUQ0ggRlVM TCB8IE1BVENIIFBBUlRJQUwgfCBNQVRDSCBTSU1QTEUgXSBbIE9OIERFTEVURSA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSBb IE9OIFVQREFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0 aW9uPC9yZXBsYWNlYWJsZT4gXSB9CiBbIERFRkVSUkFCTEUgfCBOT1QgREVGRVJSQUJMRSBdIFsg SU5JVElBTExZIERFRkVSUkVEIHwgSU5JVElBTExZIElNTUVESUFURSBdIFsgRU5GT1JDRUQgfCBO T1QgRU5GT1JDRUQgXQogCkBAIC02MjYsNiArNjI4LDI5IEBAIFdJVEggKCBNT0RVTFVTIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5udW1lcmljX2xpdGVyYWw8L3JlcGxhY2VhYmxlPiwg UkVNCiAgICAgPC9saXN0aXRlbT4KICAgIDwvdmFybGlzdGVudHJ5PgogCisgICA8dmFybGlzdGVu dHJ5IGlkPSJzcWwtYWx0ZXJ0YWJsZS1kZXNjLWFkZC1wZXJpb2QiPgorICAgIDx0ZXJtPjxsaXRl cmFsPkFERCBQRVJJT0QgRk9SPC9saXRlcmFsPjwvdGVybT4KKyAgICA8bGlzdGl0ZW0+CisgICAg IDxwYXJhPgorICAgICAgVGhpcyBmb3JtIGFkZHMgYSBuZXcgcGVyaW9kIHRvIGEgdGFibGUgdXNp bmcgdGhlIHNhbWUgc3ludGF4IGFzCisgICAgICA8eHJlZiBsaW5rZW5kPSJzcWwtY3JlYXRldGFi bGUiLz4uCisgICAgIDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+ CisKKyAgIDx2YXJsaXN0ZW50cnkgaWQ9InNxbC1hbHRlcnRhYmxlLWRlc2MtZHJvcC1wZXJpb2Qi PgorICAgIDx0ZXJtPjxsaXRlcmFsPkRST1AgUEVSSU9EIEZPUjwvbGl0ZXJhbD48L3Rlcm0+Cisg ICAgPGxpc3RpdGVtPgorICAgICA8cGFyYT4KKyAgICAgIFRoaXMgZm9ybSBkcm9wcyB0aGUgc3Bl Y2lmaWVkIHBlcmlvZCBvbiBhIHRhYmxlLiAgVGhlIHN0YXJ0IGFuZCBlbmQKKyAgICAgIGNvbHVt bnMgd2lsbCBub3QgYmUgZHJvcHBlZCBieSB0aGlzIGNvbW1hbmQgYnV0IHRoZQorICAgICAgPGxp dGVyYWw+Q0hFQ0s8L2xpdGVyYWw+IGNvbnN0cmFpbnQgd2lsbCBiZS4gIFlvdSB3aWxsIG5lZWQg dG8gc2F5CisgICAgICA8bGl0ZXJhbD5DQVNDQURFPC9saXRlcmFsPiBpZiBhbnl0aGluZyBvdXRz aWRlIHRoZSB0YWJsZSBkZXBlbmRzIG9uIHRoZQorICAgICAgY29sdW1uLgorICAgICA8L3BhcmE+ CisgICAgPC9saXN0aXRlbT4KKyAgIDwvdmFybGlzdGVudHJ5PgorCiAgICA8dmFybGlzdGVudHJ5 IGlkPSJzcWwtYWx0ZXJ0YWJsZS1kZXNjLWRpc2FibGUtZW5hYmxlLXRyaWdnZXIiPgogICAgIDx0 ZXJtPjxsaXRlcmFsPkRJU0FCTEU8L2xpdGVyYWw+LzxsaXRlcmFsPkVOQUJMRSBbIFJFUExJQ0Eg fCBBTFdBWVMgXSBUUklHR0VSPC9saXRlcmFsPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CmRpZmYg LS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NvbW1lbnQuc2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYv Y29tbWVudC5zZ21sCmluZGV4IDViNDNjNTZiMTMzLi40OWMyZGY5OTQ0OSAxMDA2NDQKLS0tIGEv ZG9jL3NyYy9zZ21sL3JlZi9jb21tZW50LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jb21t ZW50LnNnbWwKQEAgLTQ0LDYgKzQ0LDcgQEAgQ09NTUVOVCBPTgogICBPUEVSQVRPUiA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b3BlcmF0b3JfbmFtZTwvcmVwbGFjZWFibGU+ICg8cmVw bGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bGVmdF90eXBlPC9yZXBsYWNlYWJsZT4sIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yaWdodF90eXBlPC9yZXBsYWNlYWJsZT4pIHwKICAg T1BFUkFUT1IgQ0xBU1MgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm9iamVjdF9uYW1l PC9yZXBsYWNlYWJsZT4gVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4 X21ldGhvZDwvcmVwbGFjZWFibGU+IHwKICAgT1BFUkFUT1IgRkFNSUxZIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5vYmplY3RfbmFtZTwvcmVwbGFjZWFibGU+IFVTSU5HIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9tZXRob2Q8L3JlcGxhY2VhYmxlPiB8CisgIFBF UklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVsYXRpb25fbmFtZTwvcmVwbGFj ZWFibGU+LjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFj ZWFibGU+IHwKICAgUE9MSUNZIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wb2xpY3lf bmFtZTwvcmVwbGFjZWFibGU+IE9OIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJs ZV9uYW1lPC9yZXBsYWNlYWJsZT4gfAogICBbIFBST0NFRFVSQUwgXSBMQU5HVUFHRSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+b2JqZWN0X25hbWU8L3JlcGxhY2VhYmxlPiB8CiAgIFBS T0NFRFVSRSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cHJvY2VkdXJlX25hbWU8L3Jl cGxhY2VhYmxlPiBbICggWyBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmdtb2Rl PC9yZXBsYWNlYWJsZT4gXSBbIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hcmduYW1l PC9yZXBsYWNlYWJsZT4gXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+YXJndHlwZTwv cmVwbGFjZWFibGU+IFssIC4uLl0gXSApIF0gfApAQCAtMzQxLDYgKzM0Miw3IEBAIENPTU1FTlQg T04gT1BFUkFUT1IgXiAodGV4dCwgdGV4dCkgSVMgJ1BlcmZvcm1zIGludGVyc2VjdGlvbiBvZiB0 d28gdGV4dHMnOwogQ09NTUVOVCBPTiBPUEVSQVRPUiAtIChOT05FLCBpbnRlZ2VyKSBJUyAnVW5h cnkgbWludXMnOwogQ09NTUVOVCBPTiBPUEVSQVRPUiBDTEFTUyBpbnQ0b3BzIFVTSU5HIGJ0cmVl IElTICc0IGJ5dGUgaW50ZWdlciBvcGVyYXRvcnMgZm9yIGJ0cmVlcyc7CiBDT01NRU5UIE9OIE9Q RVJBVE9SIEZBTUlMWSBpbnRlZ2VyX29wcyBVU0lORyBidHJlZSBJUyAnYWxsIGludGVnZXIgb3Bl cmF0b3JzIGZvciBidHJlZXMnOworQ09NTUVOVCBPTiBQRVJJT0QgbXlfdGFibGUubXlfY29sdW1u IElTICdTYWxlcyBwcm9tb3Rpb24gdmFsaWRpdHknOwogQ09NTUVOVCBPTiBQT0xJQ1kgbXlfcG9s aWN5IE9OIG15dGFibGUgSVMgJ0ZpbHRlciByb3dzIGJ5IHVzZXJzJzsKIENPTU1FTlQgT04gUFJP Q0VEVVJFIG15X3Byb2MgKGludGVnZXIsIGludGVnZXIpIElTICdSdW5zIGEgcmVwb3J0JzsKIENP TU1FTlQgT04gUFVCTElDQVRJT04gYWxsdGFibGVzIElTICdQdWJsaXNoZXMgYWxsIG9wZXJhdGlv bnMgb24gYWxsIHRhYmxlcyc7CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV90 YWJsZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbAppbmRleCAzODll OTVhMmE2ZC4uMTZiM2RhZGViYjMgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRl X3RhYmxlLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfdGFibGUuc2dtbApAQCAt MjMsNiArMjMsNyBAQCBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIDxzeW5vcHNpcz4KIENSRUFU RSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRFTVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0g VEFCTEUgWyBJRiBOT1QgRVhJU1RTIF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRh YmxlX25hbWU8L3JlcGxhY2VhYmxlPiAoIFsKICAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+ZGF0YV90eXBlPC9yZXBsYWNlYWJsZT4gWyBTVE9SQUdFIHsgUExBSU4gfCBFWFRFUk5B TCB8IEVYVEVOREVEIHwgTUFJTiB8IERFRkFVTFQgfSBdIFsgQ09NUFJFU1NJT04gPHJlcGxhY2Vh YmxlPmNvbXByZXNzaW9uX21ldGhvZDwvcmVwbGFjZWFibGU+IF0gWyBDT0xMQVRFIDxyZXBsYWNl YWJsZT5jb2xsYXRpb248L3JlcGxhY2VhYmxlPiBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8 cmVwbGFjZWFibGU+cGVyaW9kX2RlZmluaXRpb248L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxh Y2VhYmxlPnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPgogICAgIHwgTElLRSA8cmVwbGFj ZWFibGU+c291cmNlX3RhYmxlPC9yZXBsYWNlYWJsZT4gWyA8cmVwbGFjZWFibGU+bGlrZV9vcHRp b248L3JlcGxhY2VhYmxlPiAuLi4gXSB9CiAgICAgWywgLi4uIF0KQEAgLTM3LDYgKzM4LDcgQEAg Q1JFQVRFIFsgWyBHTE9CQUwgfCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dH RUQgXSBUQUJMRSBbIElGIE5PVCBFWEkKIENSRUFURSBbIFsgR0xPQkFMIHwgTE9DQUwgXSB7IFRF TVBPUkFSWSB8IFRFTVAgfSB8IFVOTE9HR0VEIF0gVEFCTEUgWyBJRiBOT1QgRVhJU1RTIF0gPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPgogICAg IE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50eXBlX25hbWU8L3JlcGxhY2VhYmxl PiBbICgKICAgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiBbIFdJVEggT1BUSU9OUyBdIFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBsYWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8cmVw bGFjZWFibGU+cGVyaW9kX2RlZmluaXRpb248L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxhY2Vh YmxlPnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiB9CiAgICAgWywgLi4uIF0KICkgXQpA QCAtNDksNiArNTEsNyBAQCBDUkVBVEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBURU1QT1JBUlkg fCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9UIEVYSQogQ1JFQVRFIFsgWyBHTE9C QUwgfCBMT0NBTCBdIHsgVEVNUE9SQVJZIHwgVEVNUCB9IHwgVU5MT0dHRUQgXSBUQUJMRSBbIElG IE5PVCBFWElTVFMgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwv cmVwbGFjZWFibGU+CiAgICAgUEFSVElUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5wYXJlbnRfdGFibGU8L3JlcGxhY2VhYmxlPiBbICgKICAgeyA8cmVwbGFjZWFibGUgY2xh c3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbIFdJVEggT1BUSU9OUyBd IFsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9jb25zdHJhaW50PC9yZXBs YWNlYWJsZT4gWyAuLi4gXSBdCisgICAgfCA8cmVwbGFjZWFibGU+cGVyaW9kX2RlZmluaXRpb248 L3JlcGxhY2VhYmxlPgogICAgIHwgPHJlcGxhY2VhYmxlPnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxh Y2VhYmxlPiB9CiAgICAgWywgLi4uIF0KICkgXSB7IEZPUiBWQUxVRVMgPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPnBhcnRpdGlvbl9ib3VuZF9zcGVjPC9yZXBsYWNlYWJsZT4gfCBERUZB VUxUIH0KQEAgLTczLDE1ICs3NiwyMCBAQCBDUkVBVEUgWyBbIEdMT0JBTCB8IExPQ0FMIF0geyBU RU1QT1JBUlkgfCBURU1QIH0gfCBVTkxPR0dFRCBdIFRBQkxFIFsgSUYgTk9UIEVYSQogICAgIFsg T04gREVMRVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZlcmVudGlhbF9hY3Rp b248L3JlcGxhY2VhYmxlPiBdIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5yZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdIH0KIFsgREVGRVJSQUJMRSB8 IE5PVCBERUZFUlJBQkxFIF0gWyBJTklUSUFMTFkgREVGRVJSRUQgfCBJTklUSUFMTFkgSU1NRURJ QVRFIF0gWyBFTkZPUkNFRCB8IE5PVCBFTkZPUkNFRCBdCiAKKzxwaHJhc2U+YW5kIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfZGVmaW5pdGlvbjwvcmVwbGFjZWFibGU+IGlz OjwvcGhyYXNlPgorCitQRVJJT0QgRk9SIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfCBTWVNURU1fVElNRSB9ICggPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4sIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+ICkKK1sgV0lUSCAo IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJs ZT4gPSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+dmFsdWU8L3JlcGxhY2VhYmxlPiBb LCAuLi4gXSApIF0KKwogPHBocmFzZT5hbmQgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi PnRhYmxlX2NvbnN0cmFpbnQ8L3JlcGxhY2VhYmxlPiBpczo8L3BocmFzZT4KIAogWyBDT05TVFJB SU5UIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25zdHJhaW50X25hbWU8L3JlcGxh Y2VhYmxlPiBdCiB7IENIRUNLICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJl c3Npb248L3JlcGxhY2VhYmxlPiApIFsgTk8gSU5IRVJJVCBdIHwKICAgTk9UIE5VTEwgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWyBOTyBJ TkhFUklUIF0gfAotICBVTklRVUUgWyBOVUxMUyBbIE5PVCBdIERJU1RJTkNUIF0gKCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XSBbLCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiBXSVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKLSAgUFJJTUFSWSBLRVkgKCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4g XSBbLCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2Vh YmxlPiBXSVRIT1VUIE9WRVJMQVBTIF0gKSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ aW5kZXhfcGFyYW1ldGVyczwvcmVwbGFjZWFibGU+IHwKKyAgVU5JUVVFIFsgTlVMTFMgWyBOT1Qg XSBESVNUSU5DVCBdICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9uYW1l PC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gV0lUSE9VVCBPVkVSTEFQUyBdICkgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmluZGV4X3BhcmFtZXRlcnM8L3JlcGxhY2VhYmxl PiB8CisgIFBSSU1BUlkgS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVt bl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IH0gIFdJVEhPVVQgT1ZFUkxBUFMg XSApIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBs YWNlYWJsZT4gfAogICBFWENMVURFIFsgVVNJTkcgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPmluZGV4X21ldGhvZDwvcmVwbGFjZWFibGU+IF0gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+ZXhjbHVkZV9lbGVtZW50PC9yZXBsYWNlYWJsZT4gV0lUSCA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+b3BlcmF0b3I8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSApIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5pbmRleF9wYXJhbWV0ZXJzPC9yZXBsYWNlYWJsZT4g WyBXSEVSRSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wcmVkaWNhdGU8L3JlcGxh Y2VhYmxlPiApIF0gfAotICBGT1JFSUdOIEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBdICkgUkVG RVJFTkNFUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmdGFibGU8L3JlcGxhY2Vh YmxlPiBbICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFj ZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gXSApIF0KKyAgRk9SRUlHTiBLRVkgKCA8cmVwbGFjZWFi bGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBb LCBQRVJJT0QgeyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8L3Jl cGxhY2VhYmxlPiB8IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2RfbmFtZTwv cmVwbGFjZWFibGU+IH0gXSApIFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0 ZXIiPnJlZnRhYmxlPC9yZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5yZWZjb2x1bW48L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgeyA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4gfCA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiB9IF0gKSBd CiAgICAgWyBNQVRDSCBGVUxMIHwgTUFUQ0ggUEFSVElBTCB8IE1BVENIIFNJTVBMRSBdIFsgT04g REVMRVRFIDxyZXBsYWNlYWJsZQogY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9u PC9yZXBsYWNlYWJsZT4gXSBbIE9OIFVQREFURSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBsYWNlYWJsZT4gXSB9CiBbIERFRkVSUkFCTEUgfCBO T1QgREVGRVJSQUJMRSBdIFsgSU5JVElBTExZIERFRkVSUkVEIHwgSU5JVElBTExZIElNTUVESUFU RSBdIFsgRU5GT1JDRUQgfCBOT1QgRU5GT1JDRUQgXQpAQCAtMTQwLDYgKzE0OCwxNCBAQCBXSVRI ICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRlcmFs PC9yZXBsYWNlYWJsZT4sIFJFTQogICAgbmFtZSBhcyBhbnkgZXhpc3RpbmcgZGF0YSB0eXBlIGlu IHRoZSBzYW1lIHNjaGVtYS4KICAgPC9wYXJhPgogCisgIDxwYXJhPgorICAgUGVyaW9kcyBtYXkg YmUgZGVmaW5lZCBvbiB0YWJsZXMsIHNwZWNpZnlpbmcgdGhhdCB0d28gZXhpc3RpbmcgY29sdW1u cworICAgcmVwcmVzZW50IHN0YXJ0IGFuZCBlbmQgdmFsdWVzIGZvciB0aGUgcGVyaW9kLiAgUGVy aW9kcyBtYXkgaGF2ZSBhbnkgbmFtZQorICAgdGhhdCBkb2Vzbid0IGNvbmZsaWN0IHdpdGggYSBj b2x1bW4gbmFtZSwgYnV0IHRoZSBuYW1lCisgICA8bGl0ZXJhbD5TWVNURU1fVElNRTwvbGl0ZXJh bD4gaXMgc3BlY2lhbCwgdXNlZCBmb3IgdmVyc2lvbmluZyB0YWJsZXMuCisgICBTeXN0ZW0gcGVy aW9kcyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZC4gIFNlZSA8eHJlZiBsaW5rZW5kPSJkZGwtcGVy aW9kcyIvPiBmb3IgbW9yZSBkZXRhaWxzLgorICA8L3BhcmE+CisKICAgPHBhcmE+CiAgICBUaGUg b3B0aW9uYWwgY29uc3RyYWludCBjbGF1c2VzIHNwZWNpZnkgY29uc3RyYWludHMgKHRlc3RzKSB0 aGF0CiAgICBuZXcgb3IgdXBkYXRlZCByb3dzIG11c3Qgc2F0aXNmeSBmb3IgYW4gaW5zZXJ0IG9y IHVwZGF0ZSBvcGVyYXRpb24KQEAgLTgwMCw2ICs4MTYsMzcgQEAgV0lUSCAoIE1PRFVMVVMgPHJl cGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+ LCBSRU0KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+CiAKKyAgIDx2YXJsaXN0 ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1wZXJpb2QiPgorICAgIDx0ZXJtPjxsaXRl cmFsPlBFUklPRCBGT1IgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlvZF9uYW1l PC9yZXBsYWNlYWJsZT4gKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25h bWU8L3JlcGxhY2VhYmxlPiwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmNvbHVtbl9u YW1lPC9yZXBsYWNlYWJsZT4gKSBbIFdJVEggKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRl ciI+cGVyaW9kX29wdGlvbjwvcmVwbGFjZWFibGU+ID0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnZhbHVlPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gKSBdPC9saXRlcmFsPjwvdGVybT4K KyAgICA8bGlzdGl0ZW0+CisgICAgIDxwYXJhPgorICAgICAgQSBwZXJpb2QgZGVmaW5pdGlvbiBn aXZlcyBzZW1hbnRpYyBtZWFuaW5nIHRvIHR3byBleGlzdGluZyBjb2x1bW5zIG9mCisgICAgICB0 aGUgdGFibGUuICBJdCBkZWZpbmVzIGEgInN0YXJ0IGNvbHVtbiIgYW5kIGFuICJlbmQgY29sdW1u IiB3aGVyZSB0aGUKKyAgICAgIHN0YXJ0IHZhbHVlIGlzIHN0cmljdGx5IGxlc3MgdGhhbiB0aGUg ZW5kIHZhbHVlLiAgQQorICAgICAgPGxpdGVyYWw+Q0hFQ0s8L2xpdGVyYWw+IGNvbnN0cmFpbnQg aXMgYXV0b21hdGljYWxseSBjcmVhdGVkIHRvIGVuZm9yY2UKKyAgICAgIHRoaXMuICBZb3UgY2Fu IHNwZWNpZnkgdGhlIG5hbWUgb2YgdGhhdCBjb25zdHJhaW50IHdpdGggdGhlCisgICAgICA8bGl0 ZXJhbD5jaGVja19jb25zdHJhaW50X25hbWU8L2xpdGVyYWw+IDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4uCisgICAgIDwvcGFyYT4KKwor ICAgICA8cGFyYT4KKyAgICAgIEJvdGggY29sdW1ucyBtdXN0IGhhdmUgZXhhY3RseSB0aGUgc2Ft ZSB0eXBlIGFuZCBtdXN0IGhhdmUgYSByYW5nZSB0eXBlCisgICAgICBkZWZpbmVkIGZyb20gdGhl aXIgYmFzZSB0eXBlLiAgSWYgdGhlcmUgYXJlIHNldmVyYWwgcmFuZ2UgdHlwZXMgZm9yIHRoYXQK KyAgICAgIGJhc2UgdHlwZSwgeW91IG11c3Qgc3BlY2lmeSB3aGljaCBvbmUgeW91IHdhbnQgYnkg dXNpbmcgdGhlCisgICAgICA8bGl0ZXJhbD5yYW5nZXR5cGU8L2xpdGVyYWw+IDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4uCisgICAgICBB bnkgYmFzZSB0eXBlIGlzIGFsbG93ZWQsIGFzIGxvbmcgYXMgaXQgaGFzIGEgcmFuZ2UgdHlwZSwg YWx0aG91Z2ggaXQgaXMKKyAgICAgIGV4cGVjdGVkIHRoYXQgbW9zdCBwZXJpb2RzIHdpbGwgdXNl IHRlbXBvcmFsIHR5cGVzIGxpa2UgPGxpdGVyYWw+dGltZXN0YW1wdHo8L2xpdGVyYWw+CisgICAg ICBvciA8bGl0ZXJhbD5kYXRlPC9saXRlcmFsPi4KKyAgICAgPC9wYXJhPgorCisgICAgIDxwYXJh PgorICAgICAgQSBoaWRkZW4gPGxpdGVyYWw+R0VORVJBVEVEPC9saXRlcmFsPiBjb2x1bW4gaXMg dXNlZCB0byBpbXBsZW1lbnQgdGhlIHBlcmlvZCwKKyAgICAgIHdpdGggdGhlIHNhbWUgbmFtZSBh cyB0aGUgcGVyaW9kLiAgSWYgc3VjaCBhIGNvbHVtbiBhbHJlYWR5IGV4aXN0cywgeW91CisgICAg ICBjYW4gdXNlIHRoZSA8bGl0ZXJhbD5jb2xleGlzdHM8L2xpdGVyYWw+IDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5wZXJpb2Rfb3B0aW9uPC9yZXBsYWNlYWJsZT4KKyAgICAgIHdpdGgg dmFsdWUgPGxpdGVyYWw+dHJ1ZTwvbGl0ZXJhbD4gdG8gYXZvaWQgY3JlYXRpbmcgaXQuCisgICAg IDwvcGFyYT4KKyAgICA8L2xpc3RpdGVtPgorICAgPC92YXJsaXN0ZW50cnk+CisKICAgIDx2YXJs aXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1jb25zdHJhaW50Ij4KICAgICA8dGVy bT48bGl0ZXJhbD5DT05TVFJBSU5UIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb25z dHJhaW50X25hbWU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgPGxpc3RpdGVt PgpAQCAtMTE4NCw4ICsxMjMxLDggQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgIDx2YXJs aXN0ZW50cnkgaWQ9InNxbC1jcmVhdGV0YWJsZS1wYXJtcy1yZWZlcmVuY2VzIj4KICAgICA8dGVy bT48bGl0ZXJhbD5SRUZFUkVOQ0VTIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0 YWJsZTwvcmVwbGFjZWFibGU+IFsgKCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVm Y29sdW1uPC9yZXBsYWNlYWJsZT4gKSBdIFsgTUFUQ0ggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPm1hdGNodHlwZTwvcmVwbGFjZWFibGU+IF0gWyBPTiBERUxFVEUgPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmVyZW50aWFsX2FjdGlvbjwvcmVwbGFjZWFibGU+IF0gWyBP TiBVUERBVEUgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmVyZW50aWFsX2FjdGlv bjwvcmVwbGFjZWFibGU+IF08L2xpdGVyYWw+IChjb2x1bW4gY29uc3RyYWludCk8L3Rlcm0+CiAK LSAgIDx0ZXJtPjxsaXRlcmFsPkZPUkVJR04gS0VZICggPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gWywgLi4uIF0gWywgUEVSSU9EIDxyZXBs YWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IF0gKQot ICAgIFJFRkVSRU5DRVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZnRhYmxlPC9y ZXBsYWNlYWJsZT4gWyAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZjb2x1bW48 L3JlcGxhY2VhYmxlPiBbLCAuLi4gXSBbLCBQRVJJT0QgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJh bWV0ZXIiPnJlZmNvbHVtbjwvcmVwbGFjZWFibGU+IF0gKSBdCisgICA8dGVybT48bGl0ZXJhbD5G T1JFSUdOIEtFWSAoIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwv cmVwbGFjZWFibGU+IFssIC4uLiBdIFssIFBFUklPRCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnBlcmlvZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkKKyAgICBSRUZFUkVOQ0VT IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yZWZ0YWJsZTwvcmVwbGFjZWFibGU+IFsg KCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmY29sdW1uPC9yZXBsYWNlYWJsZT4g WywgLi4uIF0gWywgUEVSSU9EIHsgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJlZmNv bHVtbjwvcmVwbGFjZWFibGU+IHwgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnBlcmlv ZF9uYW1lPC9yZXBsYWNlYWJsZT4gfSBdICkgXQogICAgIFsgTUFUQ0ggPHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPm1hdGNodHlwZTwvcmVwbGFjZWFibGU+IF0KICAgICBbIE9OIERFTEVU RSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmVmZXJlbnRpYWxfYWN0aW9uPC9yZXBs YWNlYWJsZT4gXQogICAgIFsgT04gVVBEQVRFIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5yZWZlcmVudGlhbF9hY3Rpb248L3JlcGxhY2VhYmxlPiBdPC9saXRlcmFsPgpAQCAtMTIwNSw3 ICsxMjUyLDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIi Pm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+LCBSRU0KICAgICAgPC9wYXJhPgogCiAgICAg IDxwYXJhPgotICAgICAgSWYgdGhlIGxhc3QgY29sdW1uIGlzIG1hcmtlZCB3aXRoIDxsaXRlcmFs PlBFUklPRDwvbGl0ZXJhbD4sIGl0IGlzCisgICAgICBJZiB0aGUgbGFzdCBrZXkgcGFydCBpcyBt YXJrZWQgd2l0aCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LCBpdCBpcwogICAgICAgdHJlYXRl ZCBpbiBhIHNwZWNpYWwgd2F5LiAgV2hpbGUgdGhlIG5vbi08bGl0ZXJhbD5QRVJJT0Q8L2xpdGVy YWw+CiAgICAgICBjb2x1bW5zIGFyZSBjb21wYXJlZCBmb3IgZXF1YWxpdHkgKGFuZCB0aGVyZSBt dXN0IGJlIGF0IGxlYXN0IG9uZSBvZgogICAgICAgdGhlbSksIHRoZSA8bGl0ZXJhbD5QRVJJT0Q8 L2xpdGVyYWw+IGNvbHVtbiBpcyBub3QuICBJbnN0ZWFkLCB0aGUKQEAgLTEyMTMsOCArMTI2MCwx MCBAQCBXSVRIICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJp Y19saXRlcmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgcmVjb3JkcyAoYmFzZWQgb24gdGhl IG5vbi08bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHBhcnRzIG9mIHRoZSBrZXkpCiAgICAgICB3 aG9zZSBjb21iaW5lZCA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+IHZhbHVlcyBjb21wbGV0ZWx5 IGNvdmVyIHRoZQogICAgICAgcmVmZXJlbmNpbmcgcmVjb3JkJ3MuICBJbiBvdGhlciB3b3Jkcywg dGhlIHJlZmVyZW5jZSBtdXN0IGhhdmUgYQotICAgICAgcmVmZXJlbnQgZm9yIGl0cyBlbnRpcmUg ZHVyYXRpb24uICBUaGlzIGNvbHVtbiBtdXN0IGJlIGEgcmFuZ2Ugb3IKLSAgICAgIG11bHRpcmFu Z2UgdHlwZS4gIEluIGFkZGl0aW9uLCB0aGUgcmVmZXJlbmNlZCB0YWJsZSBtdXN0IGhhdmUgYSBw cmltYXJ5CisgICAgICByZWZlcmVudCBmb3IgaXRzIGVudGlyZSBkdXJhdGlvbi4gIFRoaXMgcGFy dCBtdXN0IGJlIGVpdGhlciBhIAorICAgICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXRhYmxl LXBhcm1zLXBlcmlvZCI+PGxpdGVyYWw+UEVSSU9EPC9saXRlcmFsPjwvbGluaz4KKyAgICAgIG9y IGEgY29sdW1uIHdpdGggYSByYW5nZSBvciBtdWx0aXJhbmdlIHR5cGUuCisgICAgICBJbiBhZGRp dGlvbiwgdGhlIHJlZmVyZW5jZWQgdGFibGUgbXVzdCBoYXZlIGEgcHJpbWFyeQogICAgICAga2V5 IG9yIHVuaXF1ZSBjb25zdHJhaW50IGRlY2xhcmVkIHdpdGggPGxpdGVyYWw+V0lUSE9VVAogICAg ICAgT1ZFUkxBUFM8L2xpdGVyYWw+LiBGaW5hbGx5LCBpZiB0aGUgZm9yZWlnbiBrZXkgaGFzIGEg UEVSSU9ECiAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8 L3JlcGxhY2VhYmxlPiBzcGVjaWZpY2F0aW9uCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVm L2RlbGV0ZS5zZ21sIGIvZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbAppbmRleCBmNDI1MzA5 ZmQ1ZC4uY2I2ZjNiYmJlODIgMTAwNjQ0Ci0tLSBhL2RvYy9zcmMvc2dtbC9yZWYvZGVsZXRlLnNn bWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9kZWxldGUuc2dtbApAQCAtMjMsNyArMjMsNyBAQCBQ b3N0Z3JlU1FMIGRvY3VtZW50YXRpb24KIDxzeW5vcHNpcz4KIFsgV0lUSCBbIFJFQ1VSU0lWRSBd IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj53aXRoX3F1ZXJ5PC9yZXBsYWNlYWJsZT4g WywgLi4uXSBdCiBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKiBdCi0gICAgWyBGT1IgUE9SVElPTiBP RiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+ IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3Jl cGxhY2VhYmxlPiBdCisgICAgWyBGT1IgUE9SVElPTiBPRiA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPiA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+Zm9yX3BvcnRpb25fb2ZfdGFyZ2V0PC9yZXBsYWNlYWJsZT4gXQog ICAgIFsgWyBBUyBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5hbGlhczwvcmVwbGFj ZWFibGU+IF0KICAgICBbIFVTSU5HIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mcm9t X2l0ZW08L3JlcGxhY2VhYmxlPiBbLCAuLi5dIF0KICAgICBbIFdIRVJFIDxyZXBsYWNlYWJsZSBj bGFzcz0icGFyYW1ldGVyIj5jb25kaXRpb248L3JlcGxhY2VhYmxlPiB8IFdIRVJFIENVUlJFTlQg T0YgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmN1cnNvcl9uYW1lPC9yZXBsYWNlYWJs ZT4gXQpAQCAtNTgsNyArNTgsOCBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICA8L3BhcmE+ CiAKICAgPHBhcmE+Ci0gICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBj b2x1bW4sCisgICBJZiB0aGUgdGFibGUgaGFzIGEgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1bW4s IG9yIGEKKyAgIDxsaW5rIGxpbmtlbmQ9ImRkbC1wZXJpb2RzLWFwcGxpY2F0aW9uLXBlcmlvZHMi PjxsaXRlcmFsPlBFUklPRDwvbGl0ZXJhbD48L2xpbms+LAogICAgeW91IG1heSBzdXBwbHkgYSA8 bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLCBhbmQgeW91ciBkZWxldGUg d2lsbAogICAgb25seSBhZmZlY3Qgcm93cyB0aGF0IG92ZXJsYXAgdGhlIGdpdmVuIGludGVydmFs LiBGdXJ0aGVybW9yZSwgaWYgYSByb3cncyBoaXN0b3J5CiAgICBleHRlbmRzIG91dHNpZGUgdGhl IDxsaXRlcmFsPkZPUiBQT1JUSU9OIE9GPC9saXRlcmFsPiBib3VuZHMsIHRoZW4geW91ciBkZWxl dGUKQEAgLTE1NywxMCArMTU4LDEwIEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICA8L3Zh cmxpc3RlbnRyeT4KIAogICAgPHZhcmxpc3RlbnRyeT4KLSAgICA8dGVybT48cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+PC90ZXJtPgorICAgIDx0 ZXJtPjxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9vcl9wZXJpb2RfbmFtZTwv cmVwbGFjZWFibGU+PC90ZXJtPgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+Ci0gICAgICBU aGUgcmFuZ2Ugb3IgbXVsdGlyYW5nZSBjb2x1bW4gdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRl bXBvcmFsIGRlbGV0ZS4KKyAgICAgIFRoZSByYW5nZSBvciBtdWx0aXJhbmdlIGNvbHVtbiBvciBw ZXJpb2QgdG8gdXNlIHdoZW4gcGVyZm9ybWluZyBhIHRlbXBvcmFsIGRlbGV0ZS4KICAgICAgPC9w YXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTE2OSwxNCArMTcw LDE0IEBAIERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICAgPHRlcm0+PHJlcGxhY2VhYmxlIGNs YXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+PC90ZXJt PgogICAgIDxsaXN0aXRlbT4KICAgICAgPHBhcmE+Ci0gICAgICBUaGUgaW50ZXJ2YWwgdG8gZGVs ZXRlLiBJZiB5b3UgYXJlIHRhcmdldGluZyBhIHJhbmdlIGNvbHVtbiwKKyAgICAgIFRoZSBpbnRl cnZhbCB0byBkZWxldGUuIElmIHlvdSBhcmUgdGFyZ2V0aW5nIGEgcmFuZ2UgY29sdW1uIG9yIDxs aXRlcmFsPlBFUklPRDwvbGl0ZXJhbD4sCiAgICAgICB5b3UgbWF5IGdpdmUgdGhpcyBpbiB0aGUg Zm9ybSA8bGl0ZXJhbD5GUk9NPC9saXRlcmFsPgogICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJw YXJhbWV0ZXIiPnN0YXJ0X3RpbWU8L3JlcGxhY2VhYmxlPiA8bGl0ZXJhbD5UTzwvbGl0ZXJhbD4K ICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5lbmRfdGltZTwvcmVwbGFjZWFi bGU+LgogICAgICAgT3RoZXJ3aXNlIHlvdSBtdXN0IHVzZQogICAgICAgPGxpdGVyYWw+KDwvbGl0 ZXJhbD48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVwbGFjZWFi bGU+PGxpdGVyYWw+KTwvbGl0ZXJhbD4KICAgICAgIHdoZXJlIHRoZSBleHByZXNzaW9uIHlpZWxk cyBhIHZhbHVlIG9mIHRoZSBzYW1lIHR5cGUgYXMKLSAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uCisgICAgICA8cmVwbGFjZWFibGUg Y2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPi4KICAg ICAgPC9wYXJhPgogICAgIDwvbGlzdGl0ZW0+CiAgICA8L3Zhcmxpc3RlbnRyeT4KQEAgLTE4Niw4 ICsxODcsOCBAQCBERUxFVEUgRlJPTSBbIE9OTFkgXSA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+dGFibGVfbmFtZTwvcmVwbGFjZWFibGU+IFsgKgogICAgIDxsaXN0aXRlbT4KICAgICAg PHBhcmE+CiAgICAgICBUaGUgZWFybGllc3QgdGltZSAoaW5jbHVzaXZlKSB0byBjaGFuZ2UgaW4g YSB0ZW1wb3JhbCBkZWxldGUuCi0gICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0 aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBmcm9tCi0gICAgICA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICBUaGlzIG11c3Qg YmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBvciBwZXJpb2Qg ZnJvbQorICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3Blcmlv ZF9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKICAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhl cmUgaW5kaWNhdGVzIGEgZGVsZXRlIHdob3NlIGJlZ2lubmluZyBpcwogICAgICAgdW5ib3VuZGVk IChhcyB3aXRoIHJhbmdlIHR5cGVzKS4KICAgICAgPC9wYXJhPgpAQCAtMTk5LDggKzIwMCw4IEBA IERFTEVURSBGUk9NIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJs ZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqCiAgICAgPGxpc3RpdGVtPgogICAgICA8cGFyYT4KICAg ICAgIFRoZSBsYXRlc3QgdGltZSAoZXhjbHVzaXZlKSB0byBjaGFuZ2UgaW4gYSB0ZW1wb3JhbCBk ZWxldGUuCi0gICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBtYXRjaGluZyB0aGUgYmFzZSB0eXBl IG9mIHRoZSByYW5nZSBmcm9tCi0gICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LiBBCisgICAgICBUaGlzIG11c3QgYmUgYSB2YWx1ZSBt YXRjaGluZyB0aGUgYmFzZSB0eXBlIG9mIHRoZSByYW5nZSBvciBwZXJpb2QgZnJvbQorICAgICAg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3BlcmlvZF9uYW1lPC9yZXBs YWNlYWJsZT4uIEEKICAgICAgIDxsaXRlcmFsPk5VTEw8L2xpdGVyYWw+IGhlcmUgaW5kaWNhdGVz IGEgZGVsZXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKICAgICAgIChhcyB3aXRoIHJhbmdlIHR5 cGVzKS4KICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi91cGRhdGUu c2dtbCBiL2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKaW5kZXggYWQzMjI0YzJkZjIuLjJh ZTMzMTY3NzdmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3VwZGF0ZS5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC9yZWYvdXBkYXRlLnNnbWwKQEAgLTIzLDcgKzIzLDcgQEAgUG9zdGdyZVNR TCBkb2N1bWVudGF0aW9uCiA8c3lub3BzaXM+CiBbIFdJVEggWyBSRUNVUlNJVkUgXSA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+d2l0aF9xdWVyeTwvcmVwbGFjZWFibGU+IFssIC4uLl0g XQogVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9u YW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KLSAgICBbIEZPUiBQT1JUSU9OIE9GIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4gPHJlcGxhY2VhYmxl IGNsYXNzPSJwYXJhbWV0ZXIiPmZvcl9wb3J0aW9uX29mX3RhcmdldDwvcmVwbGFjZWFibGU+IF0K KyAgICBbIEZPUiBQT1JUSU9OIE9GIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5n ZV9vcl9wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1l dGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxhY2VhYmxlPiBdCiAgICAgWyBbIEFTIF0g PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmFsaWFzPC9yZXBsYWNlYWJsZT4gXQogICAg IFNFVCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFj ZWFibGU+ID0geyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZXhwcmVzc2lvbjwvcmVw bGFjZWFibGU+IHwgREVGQVVMVCB9IHwKICAgICAgICAgICAoIDxyZXBsYWNlYWJsZSBjbGFzcz0i cGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IFssIC4uLl0gKSA9IFsgUk9XIF0g KCB7IDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5leHByZXNzaW9uPC9yZXBsYWNlYWJs ZT4gfCBERUZBVUxUIH0gWywgLi4uXSApIHwKQEAgLTU1LDcgKzU1LDggQEAgVVBEQVRFIFsgT05M WSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJs ZT4gWyAqIF0KICAgPC9wYXJhPgogCiAgIDxwYXJhPgotICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJh bmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uLAorICAgSWYgdGhlIHRhYmxlIGhhcyBhIHJhbmdlIG9y IG11bHRpcmFuZ2UgY29sdW1uLCBvciBhCisgICA8bGluayBsaW5rZW5kPSJkZGwtcGVyaW9kcy1h cHBsaWNhdGlvbi1wZXJpb2RzIj48bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+PC9saW5rPiwKICAg IHlvdSBtYXkgc3VwcGx5IGEgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGNsYXVz ZSwgYW5kIHlvdXIgdXBkYXRlIHdpbGwKICAgIG9ubHkgYWZmZWN0IHJvd3MgdGhhdCBvdmVybGFw IHRoZSBnaXZlbiBpbnRlcnZhbC4gRnVydGhlcm1vcmUsIGlmIGEgcm93J3MgaGlzdG9yeQogICAg ZXh0ZW5kcyBvdXRzaWRlIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gYm91 bmRzLCB0aGVuIHlvdXIgdXBkYXRlCkBAIC0xNTgsMTAgKzE1OSwxMCBAQCBVUERBVEUgWyBPTkxZ IF0gPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxl PiBbICogXQogICAgPC92YXJsaXN0ZW50cnk+CiAKICAgIDx2YXJsaXN0ZW50cnk+Ci0gICAgPHRl cm0+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxl PjwvdGVybT4KKyAgICA8dGVybT48cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vf b3JfcGVyaW9kX25hbWU8L3JlcGxhY2VhYmxlPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAg IDxwYXJhPgotICAgICAgVGhlIHJhbmdlIG9yIG11bHRpcmFuZ2UgY29sdW1uIHRvIHVzZSB3aGVu IHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCB1cGRhdGUuCisgICAgICBUaGUgcmFuZ2Ugb3IgbXVsdGly YW5nZSBjb2x1bW4gb3IgcGVyaW9kIHRvIHVzZSB3aGVuIHBlcmZvcm1pbmcgYSB0ZW1wb3JhbCB1 cGRhdGUuCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50cnk+ CkBAIC0xNzAsMTQgKzE3MSwxNCBAQCBVUERBVEUgWyBPTkxZIF0gPHJlcGxhY2VhYmxlIGNsYXNz PSJwYXJhbWV0ZXIiPnRhYmxlX25hbWU8L3JlcGxhY2VhYmxlPiBbICogXQogICAgIDx0ZXJtPjxy ZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5mb3JfcG9ydGlvbl9vZl90YXJnZXQ8L3JlcGxh Y2VhYmxlPjwvdGVybT4KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxwYXJhPgotICAgICAgVGhlIGlu dGVydmFsIHRvIHVwZGF0ZS4gSWYgeW91IGFyZSB0YXJnZXRpbmcgYSByYW5nZSBjb2x1bW4sCisg ICAgICBUaGUgaW50ZXJ2YWwgdG8gdXBkYXRlLiBJZiB5b3UgYXJlIHRhcmdldGluZyBhIHJhbmdl IGNvbHVtbiBvciA8bGl0ZXJhbD5QRVJJT0Q8L2xpdGVyYWw+LAogICAgICAgeW91IG1heSBnaXZl IHRoaXMgaW4gdGhlIGZvcm0gPGxpdGVyYWw+RlJPTTwvbGl0ZXJhbD4KICAgICAgIDxyZXBsYWNl YWJsZSBjbGFzcz0icGFyYW1ldGVyIj5zdGFydF90aW1lPC9yZXBsYWNlYWJsZT4gPGxpdGVyYWw+ VE88L2xpdGVyYWw+CiAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZW5kX3Rp bWU8L3JlcGxhY2VhYmxlPi4KICAgICAgIE90aGVyd2lzZSB5b3UgbXVzdCB1c2UKICAgICAgIDxs aXRlcmFsPig8L2xpdGVyYWw+PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmV4cHJlc3Np b248L3JlcGxhY2VhYmxlPjxsaXRlcmFsPik8L2xpdGVyYWw+CiAgICAgICB3aGVyZSB0aGUgZXhw cmVzc2lvbiB5aWVsZHMgYSB2YWx1ZSBvZiB0aGUgc2FtZSB0eXBlIGFzCi0gICAgICA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2VfbmFtZTwvcmVwbGFjZWFibGU+LgorICAgICAg PHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX29yX3BlcmlvZF9uYW1lPC9yZXBs YWNlYWJsZT4uCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50 cnk+CkBAIC0xODcsOCArMTg4LDggQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFz cz0icGFyYW1ldGVyIj50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgICA8bGlzdGl0 ZW0+CiAgICAgIDxwYXJhPgogICAgICAgVGhlIGVhcmxpZXN0IHRpbWUgKGluY2x1c2l2ZSkgdG8g Y2hhbmdlIGluIGEgdGVtcG9yYWwgdXBkYXRlLgotICAgICAgVGhpcyBtdXN0IGJlIGEgdmFsdWUg bWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2UgZnJvbQotICAgICAgPHJlcGxhY2Vh YmxlIGNsYXNzPSJwYXJhbWV0ZXIiPnJhbmdlX25hbWU8L3JlcGxhY2VhYmxlPi4gQQorICAgICAg VGhpcyBtdXN0IGJlIGEgdmFsdWUgbWF0Y2hpbmcgdGhlIGJhc2UgdHlwZSBvZiB0aGUgcmFuZ2Ug b3IgcGVyaW9kIGZyb20KKyAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5yYW5n ZV9vcl9wZXJpb2RfbmFtZTwvcmVwbGFjZWFibGU+LiBBCiAgICAgICA8bGl0ZXJhbD5OVUxMPC9s aXRlcmFsPiBoZXJlIGluZGljYXRlcyBhbiB1cGRhdGUgd2hvc2UgYmVnaW5uaW5nIGlzCiAgICAg ICB1bmJvdW5kZWQgKGFzIHdpdGggcmFuZ2UgdHlwZXMpLgogICAgICA8L3BhcmE+CkBAIC0yMDAs OCArMjAxLDggQEAgVVBEQVRFIFsgT05MWSBdIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij50YWJsZV9uYW1lPC9yZXBsYWNlYWJsZT4gWyAqIF0KICAgICA8bGlzdGl0ZW0+CiAgICAgIDxw YXJhPgogICAgICAgVGhlIGxhdGVzdCB0aW1lIChleGNsdXNpdmUpIHRvIGNoYW5nZSBpbiBhIHRl bXBvcmFsIHVwZGF0ZS4KLSAgICAgIFRoaXMgbXVzdCBiZSBhIHZhbHVlIG1hdGNoaW5nIHRoZSBi YXNlIHR5cGUgb2YgdGhlIHJhbmdlIGZyb20KLSAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5yYW5nZV9uYW1lPC9yZXBsYWNlYWJsZT4uIEEKKyAgICAgIFRoaXMgbXVzdCBiZSBh IHZhbHVlIG1hdGNoaW5nIHRoZSBiYXNlIHR5cGUgb2YgdGhlIHJhbmdlIG9yIHBlcmlvZCBmcm9t CisgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cmFuZ2Vfb3JfcGVyaW9kX25h bWU8L3JlcGxhY2VhYmxlPi4gQQogICAgICAgPGxpdGVyYWw+TlVMTDwvbGl0ZXJhbD4gaGVyZSBp bmRpY2F0ZXMgYW4gdXBkYXRlIHdob3NlIGVuZCBpcyB1bmJvdW5kZWQKICAgICAgIChhcyB3aXRo IHJhbmdlIHR5cGVzKS4KICAgICAgPC9wYXJhPgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3Ry aWdnZXIuc2dtbCBiL2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKaW5kZXggMDA0NGE5N2EzZmQu LmRhOWFlMGZmZWZkIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvdHJpZ2dlci5zZ21sCisrKyBi L2RvYy9zcmMvc2dtbC90cmlnZ2VyLnNnbWwKQEAgLTg2MCwxNiArODYwLDIxIEBAIHR5cGVkZWYg c3RydWN0IEZvclBvcnRpb25PZlN0YXRlCiAKICAgICBjaGFyICAgICAgICpmcF9yYW5nZU5hbWU7 ICAgLyogdGhlIGNvbHVtbiBuYW1lZCBpbiBGT1IgUE9SVElPTiBPRiAqLwogICAgIE9pZCAgICAg ICAgIGZwX3JhbmdlVHlwZTsgICAvKiB0aGUgdHlwZSBvZiB0aGUgRk9SIFBPUlRJT04gT0YgZXhw cmVzc2lvbiAqLwotICAgIGludCAgICAgICAgIGZwX3JhbmdlQXR0bm87ICAvKiB0aGUgYXR0bm8g b2YgdGhlIHJhbmdlIGNvbHVtbiAqLworICAgIGludCAgICAgICAgIGZwX3JhbmdlQXR0bm87ICAv KiB0aGUgYXR0bm8gb2YgdGhlIHJhbmdlIGNvbHVtbiAob3IgMCBmb3IgYSBQRVJJT0QpICovCisg ICAgaW50ICAgICAgICAgZnBfcGVyaW9kU3RhcnRBdHRubzsgICAgLyogdGhlIGF0dG5vIG9mIHRo ZSBQRVJJT0Qgc3RhcnQgY29sdW1uIChvciAwIGZvciBhIHJhbmdlKSAqLworICAgIGludCAgICAg ICAgIGZwX3BlcmlvZEVuZEF0dG5vOyAgICAgIC8qIHRoZSBhdHRubyBvZiB0aGUgUEVSSU9EIGVu ZCBjb2x1bW4gKG9yIDAgZm9yIGEgcmFuZ2UpICovCiAgICAgRGF0dW0gICAgICAgZnBfdGFyZ2V0 UmFuZ2U7IC8qIHRoZSByYW5nZS9tdWx0aXJhbmdlIGZyb20gRk9SIFBPUlRJT04gT0YgKi8KICAg ICBUeXBlQ2FjaGVFbnRyeSAqZnBfbGVmdG92ZXJzdHlwY2FjaGU7ICAgLyogdHlwZSBjYWNoZSBl bnRyeSBvZiB0aGUgcmFuZ2UgKi8KIH0gRm9yUG9ydGlvbk9mU3RhdGU7CiA8L3Byb2dyYW1saXN0 aW5nPgogCi0gICAgICAgd2hlcmUgPHN0cnVjdGZpZWxkPmZwX3JhbmdlTmFtZTwvc3RydWN0Zmll bGQ+IGlzIHRoZSByYW5nZQorICAgICAgIHdoZXJlIDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZU5hbWU8 L3N0cnVjdGZpZWxkPiBpcyB0aGUgcGVyaW9kIG9yIHJhbmdlCiAgICAgICAgY29sdW1uIG5hbWVk IGluIHRoZSA8bGl0ZXJhbD5GT1IgUE9SVElPTiBPRjwvbGl0ZXJhbD4gY2xhdXNlLAogICAgICAg IDxzdHJ1Y3RmaWVsZD5mcF9yYW5nZVR5cGU8L3N0cnVjdGZpZWxkPiBpcyBpdHMgcmFuZ2UgdHlw ZSwKICAgICAgICA8c3RydWN0ZmllbGQ+ZnBfcmFuZ2VBdHRubzwvc3RydWN0ZmllbGQ+IGlzIGl0 cyBhdHRyaWJ1dGUgbnVtYmVyLAorICAgICAgIDxzdHJ1Y3RmaWVsZD5mcF9wZXJpb2RTdGFydEF0 dG5vPC9zdHJ1Y3RmaWVsZD4gYW5kCisgICAgICAgPHN0cnVjdGZpZWxkPmZwX3BlcmlvZEVuZEF0 dG5vPC9zdHJ1Y3RmaWVsZD4gYXJlIHRoZSBhdHRub3Mgb2YgdGhlIHBlcmlvZCdzCisgICAgICAg c3RhcnQgYW5kIGVuZCBjb2x1bW5zIChvciA8c3ltYm9sPjA8L3N5bWJvbD4gaWYgYSByYW5nZSBj b2x1bW4gd2FzIHVzZWQpLAogICAgICAgIGFuZCA8c3RydWN0ZmllbGQ+ZnBfdGFyZ2V0UmFuZ2U8 L3N0cnVjdGZpZWxkPiBpcyBhIHJhbmdldHlwZSB2YWx1ZSBjcmVhdGVkCiAgICAgICAgYnkgZXZh bHVhdGluZyB0aGUgPGxpdGVyYWw+Rk9SIFBPUlRJT04gT0Y8L2xpdGVyYWw+IGJvdW5kcy4KICAg ICAgICA8L3BhcmE+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL01ha2VmaWxlIGIv c3JjL2JhY2tlbmQvY2F0YWxvZy9NYWtlZmlsZQppbmRleCBjMDkwMDk0ZWQwOC4uNTNlYjY3MDM0 ZjMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvTWFrZWZpbGUKKysrIGIvc3JjL2Jh Y2tlbmQvY2F0YWxvZy9NYWtlZmlsZQpAQCAtMzksNiArMzksNyBAQCBPQkpTID0gXAogCXBnX25h bWVzcGFjZS5vIFwKIAlwZ19vcGVyYXRvci5vIFwKIAlwZ19wYXJhbWV0ZXJfYWNsLm8gXAorCXBn X3BlcmlvZC5vIFwKIAlwZ19wcm9jLm8gXAogCXBnX3B1YmxpY2F0aW9uLm8gXAogCXBnX3Jhbmdl Lm8gXApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9hY2xjaGsuYyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvYWNsY2hrLmMKaW5kZXggY2QxMzliZDY1YTYuLjhkMDA2YTgzMGQ2IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL2FjbGNoay5jCisrKyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvYWNsY2hrLmMKQEAgLTI3NzQsNiArMjc3NCw3IEBAIGFjbGNoZWNrX2Vycm9yKEFjbFJl c3VsdCBhY2xlcnIsIE9iamVjdFR5cGUgb2JqdHlwZSwKIAkJCQkJY2FzZSBPQkpFQ1RfREVGQVVM VDoKIAkJCQkJY2FzZSBPQkpFQ1RfREVGQUNMOgogCQkJCQljYXNlIE9CSkVDVF9ET01DT05TVFJB SU5UOgorCQkJCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCQkJCWNhc2UgT0JKRUNUX1BVQkxJQ0FU SU9OX05BTUVTUEFDRToKIAkJCQkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fUkVMOgogCQkJCQlj YXNlIE9CSkVDVF9ST0xFOgpAQCAtMjkxNSw2ICsyOTE2LDcgQEAgYWNsY2hlY2tfZXJyb3IoQWNs UmVzdWx0IGFjbGVyciwgT2JqZWN0VHlwZSBvYmp0eXBlLAogCQkJCQljYXNlIE9CSkVDVF9ERUZB Q0w6CiAJCQkJCWNhc2UgT0JKRUNUX0RPTUNPTlNUUkFJTlQ6CiAJCQkJCWNhc2UgT0JKRUNUX1BB UkFNRVRFUl9BQ0w6CisJCQkJCWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJCQkJY2FzZSBPQkpFQ1Rf UFVCTElDQVRJT05fTkFNRVNQQUNFOgogCQkJCQljYXNlIE9CSkVDVF9QVUJMSUNBVElPTl9SRUw6 CiAJCQkJCWNhc2UgT0JKRUNUX1JPTEU6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9n L2RlcGVuZGVuY3kuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvZGVwZW5kZW5jeS5jCmluZGV4IDdk ZGVkNjM0ZWI4Li4wMTExZGY2MDgxZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9k ZXBlbmRlbmN5LmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9kZXBlbmRlbmN5LmMKQEAgLTQ4 LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9yLmgiCiAjaW5jbHVkZSAi Y2F0YWxvZy9wZ19vcGZhbWlseS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcGFyYW1ldGVyX2Fj bC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9w Z19wb2xpY3kuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIKICNpbmNsdWRlICJjYXRh bG9nL3BnX3B1YmxpY2F0aW9uLmgiCkBAIC02MjIsNiArNjIzLDE0IEBAIGZpbmREZXBlbmRlbnRP YmplY3RzKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwKIAkJCQkJCXJldHVybjsKIAkJCQkJ fQogCisJCQkJCS8qCisJCQkJCSAqIElmIGEgdGFibGUgYXR0cmlidXRlIGlzIGFuIGludGVybmFs IHBhcnQgb2Ygc29tZXRoaW5nCisJCQkJCSAqIGVsc2UgKGUuZy4gdGhlIEdFTkVSQVRFRCBjb2x1 bW4gdXNlZCBieSBhIFBFUklPRCksIGFuZAorCQkJCQkgKiB3ZSBhcmUgZGVsZXRpbmcgdGhlIHdo b2xlIHRhYmxlLCB0aGVuIGl0J3Mgb2theS4KKwkJCQkJICovCisJCQkJCWlmIChmb3VuZERlcC0+ b2Jqc3ViaWQgJiYgIW9iamVjdC0+b2JqZWN0U3ViSWQpCisJCQkJCQlicmVhazsKKwogCQkJCQkv KgogCQkJCQkgKiBXZSBwb3N0cG9uZSBhY3R1YWxseSBpc3N1aW5nIHRoZSBlcnJvciBtZXNzYWdl IHVudGlsCiAJCQkJCSAqIGFmdGVyIHRoaXMgbG9vcCwgc28gdGhhdCB3ZSBjYW4gbWFrZSB0aGUg YmVoYXZpb3IKQEAgLTE0MDAsNiArMTQwOSwxMCBAQCBkb0RlbGV0aW9uKGNvbnN0IE9iamVjdEFk ZHJlc3MgKm9iamVjdCwgaW50IGZsYWdzKQogCQkJUmVtb3ZlQXR0ckRlZmF1bHRCeUlkKG9iamVj dC0+b2JqZWN0SWQpOwogCQkJYnJlYWs7CiAKKwkJY2FzZSBQZXJpb2RSZWxhdGlvbklkOgorCQkJ UmVtb3ZlUGVyaW9kQnlJZChvYmplY3QtPm9iamVjdElkKTsKKwkJCWJyZWFrOworCiAJCWNhc2Ug TGFyZ2VPYmplY3RSZWxhdGlvbklkOgogCQkJTGFyZ2VPYmplY3REcm9wKG9iamVjdC0+b2JqZWN0 SWQpOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyBi L3NyYy9iYWNrZW5kL2NhdGFsb2cvaGVhcC5jCmluZGV4IGZkNjUzNzU2N2VhLi45OWNkYTgwOWQw MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKKysrIGIvc3JjL2JhY2tl bmQvY2F0YWxvZy9oZWFwLmMKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3Bn X25hbWVzcGFjZS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BjbGFzcy5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfcGFydGl0aW9uZWRfdGFibGUuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3Bl cmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3RhdGlzdGljLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ19zdWJzY3JpcHRpb25fcmVsLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190YWJsZXNw YWNlLmgiCkBAIC0yMTM1LDYgKzIxMzYsODAgQEAgU2V0QXR0ck1pc3NpbmcoT2lkIHJlbGlkLCBj aGFyICphdHRuYW1lLCBjaGFyICp2YWx1ZSkKIAl0YWJsZV9jbG9zZSh0YWJsZXJlbCwgQWNjZXNz RXhjbHVzaXZlTG9jayk7CiB9CiAKKy8qCisgKiBTdG9yZSBhIHBlcmlvZCBvZiByZWxhdGlvbiBy ZWwuCisgKgorICogUmV0dXJucyB0aGUgT0lEIG9mIHRoZSBuZXcgcGdfcGVyaW9kIHR1cGxlLgor ICovCitPaWQKK1N0b3JlUGVyaW9kKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqcGVyaW9kbmFt ZSwgQXR0ck51bWJlciBzdGFydG51bSwKKwkJCUF0dHJOdW1iZXIgZW5kbnVtLCBBdHRyTnVtYmVy IHJhbmdlbnVtLCBPaWQgY29ub2lkKQoreworCURhdHVtCQl2YWx1ZXNbTmF0dHNfcGdfcGVyaW9k XTsKKwlib29sCQludWxsc1tOYXR0c19wZ19wZXJpb2RdOworCVJlbGF0aW9uCXBnX3BlcmlvZDsK KwlIZWFwVHVwbGUJdHVwbGU7CisJT2lkCQkJb2lkOworCU5hbWVEYXRhCXBlcm5hbWU7CisJT2Jq ZWN0QWRkcmVzcyBteXNlbGYsCisJCQkJcmVmZXJlbmNlZDsKKworCUFzc2VydChyYW5nZW51bSAh PSBJbnZhbGlkQXR0ck51bWJlcik7CisKKwluYW1lc3RyY3B5KCZwZXJuYW1lLCBwZXJpb2RuYW1l KTsKKworCU1lbVNldCh2YWx1ZXMsIDAsIHNpemVvZih2YWx1ZXMpKTsKKwlNZW1TZXQobnVsbHMs IGZhbHNlLCBzaXplb2YobnVsbHMpKTsKKworCXBnX3BlcmlvZCA9IHRhYmxlX29wZW4oUGVyaW9k UmVsYXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlvaWQgPSBHZXROZXdPaWRXaXRoSW5k ZXgocGdfcGVyaW9kLCBBdHRyRGVmYXVsdE9pZEluZGV4SWQsIEFudW1fcGdfcGVyaW9kX29pZCk7 CisJdmFsdWVzW0FudW1fcGdfcGVyaW9kX29pZCAtIDFdID0gT2JqZWN0SWRHZXREYXR1bShvaWQp OworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJuYW1lIC0gMV0gPSBOYW1lR2V0RGF0dW0oJnBl cm5hbWUpOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJyZWxpZCAtIDFdID0gUmVsYXRpb25H ZXRSZWxpZChyZWwpOworCXZhbHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJzdGFydCAtIDFdID0gc3Rh cnRudW07CisJdmFsdWVzW0FudW1fcGdfcGVyaW9kX3BlcmVuZCAtIDFdID0gZW5kbnVtOworCXZh bHVlc1tBbnVtX3BnX3BlcmlvZF9wZXJyYW5nZSAtIDFdID0gcmFuZ2VudW07CisJdmFsdWVzW0Fu dW1fcGdfcGVyaW9kX3BlcmNvbnN0cmFpbnQgLSAxXSA9IGNvbm9pZDsKKworCXR1cGxlID0gaGVh cF9mb3JtX3R1cGxlKFJlbGF0aW9uR2V0RGVzY3IocGdfcGVyaW9kKSwgdmFsdWVzLCBudWxscyk7 CisJQ2F0YWxvZ1R1cGxlSW5zZXJ0KHBnX3BlcmlvZCwgdHVwbGUpOworCisJT2JqZWN0QWRkcmVz c1NldChteXNlbGYsIFBlcmlvZFJlbGF0aW9uSWQsIG9pZCk7CisKKwkvKiBEcm9wIHRoZSBwZXJp b2Qgd2hlbiB0aGUgdGFibGUgaXMgZHJvcHBlZC4gKi8KKwlPYmplY3RBZGRyZXNzU2V0KHJlZmVy ZW5jZWQsIFJlbGF0aW9uUmVsYXRpb25JZCwgUmVsYXRpb25HZXRSZWxpZChyZWwpKTsKKwlyZWNv cmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVOQ1lfQVVUTyk7CisK KwkvKiBGb3JiaWQgZHJvcHBpbmcgdGhlIGNvbHVtbnMgb2YgdGhlIHBlcmlvZC4gKi8KKwlPYmpl Y3RBZGRyZXNzU3ViU2V0KHJlZmVyZW5jZWQsIFJlbGF0aW9uUmVsYXRpb25JZCwgUmVsYXRpb25H ZXRSZWxpZChyZWwpLCBzdGFydG51bSk7CisJcmVjb3JkRGVwZW5kZW5jeU9uKCZteXNlbGYsICZy ZWZlcmVuY2VkLCBERVBFTkRFTkNZX05PUk1BTCk7CisJT2JqZWN0QWRkcmVzc1N1YlNldChyZWZl cmVuY2VkLCBSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgZW5kbnVt KTsKKwlyZWNvcmREZXBlbmRlbmN5T24oJm15c2VsZiwgJnJlZmVyZW5jZWQsIERFUEVOREVOQ1lf Tk9STUFMKTsKKworCS8qCisJICogVGhlIHJhbmdlIGNvbHVtbiBpcyBhbiBpbXBsZW1lbnRhdGlv biBkZXRhaWwsIGJ1dCB3ZSBjYW4ndCB1c2UKKwkgKiBERVBFTkRFTkNZX0lOVEVSTkFMIGJlY2F1 c2UgZHJvcHBpbmcgdGhlIHRhYmxlIHdpbGwgY2hlY2sgZm9yCisJICogZGVwZW5kZW5jaWVzIG9u IGFsbCBzdWJvYmplY3RzIHRvbyAoaW4gZmluZERlcGVuZGVudE9iamVjdHMpLiBCdXQgaWYgd2UK KwkgKiBtYWtlIGFuIEFVVE8gZGVwZW5kZW5jeSBvbmUgd2F5IHdlIHdpbGwgYXV0by1kcm9wIHRo ZSBjb2x1bW4gd2hlbiB3ZQorCSAqIGRyb3AgdGhlIFBFUklPRCwgYW5kIGEgTk9STUFMIGRlcGVu ZGVuY3kgdGhlIG90aGVyIHdheSB3ZSB3aWxsIGZvcmJpZAorCSAqIGRyb3BwaW5nIHRoZSBjb2x1 bW4gZGlyZWN0bHkuCisJICovCisJT2JqZWN0QWRkcmVzc1N1YlNldChyZWZlcmVuY2VkLCBSZWxh dGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgcmFuZ2VudW0pOworCXJlY29y ZERlcGVuZGVuY3lPbigmcmVmZXJlbmNlZCwgJm15c2VsZiwgREVQRU5ERU5DWV9JTlRFUk5BTCk7 CisKKwkvKgorCSAqIFRoZSBjb25zdHJhaW50IGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCwg c28gd2UgbWFyayBpdCBhcyBzdWNoLgorCSAqIChOb3RlIHRoYXQgbXlzZWxmIGFuZCByZWZlcmVu Y2VkIGFyZSByZXZlcnNlZCBmb3IgdGhpcyBvbmUuKQorCSAqLworCU9iamVjdEFkZHJlc3NTZXQo cmVmZXJlbmNlZCwgQ29uc3RyYWludFJlbGF0aW9uSWQsIGNvbm9pZCk7CisJcmVjb3JkRGVwZW5k ZW5jeU9uKCZyZWZlcmVuY2VkLCAmbXlzZWxmLCBERVBFTkRFTkNZX0lOVEVSTkFMKTsKKworCXRh YmxlX2Nsb3NlKHBnX3BlcmlvZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwlyZXR1cm4gb2lkOwor fQorCiAvKgogICogU3RvcmUgYSBjaGVjay1jb25zdHJhaW50IGV4cHJlc3Npb24gZm9yIHRoZSBn aXZlbiByZWxhdGlvbi4KICAqCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2luZm9y bWF0aW9uX3NjaGVtYS5zcWwgYi9zcmMvYmFja2VuZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVt YS5zcWwKaW5kZXggYTdiZmZjYTkzZDEuLjI4MmVhZDZlZDRjIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9jYXRhbG9nL2luZm9ybWF0aW9uX3NjaGVtYS5zcWwKKysrIGIvc3JjL2JhY2tlbmQvY2F0 YWxvZy9pbmZvcm1hdGlvbl9zY2hlbWEuc3FsCkBAIC0xMjA3LDcgKzEyMDcsMjggQEAgR1JBTlQg U0VMRUNUIE9OIHBhcmFtZXRlcnMgVE8gUFVCTElDOwogICogUEVSSU9EUyB2aWV3CiAgKi8KIAot LS0gZmVhdHVyZSBub3Qgc3VwcG9ydGVkCitDUkVBVEUgVklFVyBwZXJpb2RzIEFTCisgICAgU0VM RUNUIGN1cnJlbnRfZGF0YWJhc2UoKTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVy IEFTIHRhYmxlX2NhdGFsb2csCisgICAgICAgICAgIG5jLm5zcG5hbWU6OmluZm9ybWF0aW9uX3Nj aGVtYS5zcWxfaWRlbnRpZmllciBBUyB0YWJsZV9zY2hlbWEsCisgICAgICAgICAgIGMucmVsbmFt ZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyIEFTIHRhYmxlX25hbWUsCisgICAg ICAgICAgIHAucGVybmFtZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyIEFTIHBl cmlvZF9uYW1lLAorICAgICAgICAgICBDQVNFIFdIRU4gcGdfaGFzX3JvbGUoYy5yZWxvd25lciwg J1VTQUdFJykKKyAgICAgICAgICAgICAgICAgIE9SIGhhc19jb2x1bW5fcHJpdmlsZWdlKHNhLmF0 dHJlbGlkLCBzYS5hdHRudW0sICdTRUxFQ1QsIElOU0VSVCwgVVBEQVRFLCBSRUZFUkVOQ0VTJykK KyAgICAgICAgICAgICAgICBUSEVOIHNhLmF0dG5hbWU6OmluZm9ybWF0aW9uX3NjaGVtYS5zcWxf aWRlbnRpZmllcgorICAgICAgICAgICBFTkQgQVMgc3RhcnRfY29sdW1uX25hbWUsCisgICAgICAg ICAgIENBU0UgV0hFTiBwZ19oYXNfcm9sZShjLnJlbG93bmVyLCAnVVNBR0UnKQorICAgICAgICAg ICAgICAgICAgT1IgaGFzX2NvbHVtbl9wcml2aWxlZ2UoZWEuYXR0cmVsaWQsIGVhLmF0dG51bSwg J1NFTEVDVCwgSU5TRVJULCBVUERBVEUsIFJFRkVSRU5DRVMnKQorICAgICAgICAgICAgICAgIFRI RU4gZWEuYXR0bmFtZTo6aW5mb3JtYXRpb25fc2NoZW1hLnNxbF9pZGVudGlmaWVyCisgICAgICAg ICAgIEVORCBBUyBlbmRfY29sdW1uX25hbWUKKyAgICBGUk9NIHBnX3BlcmlvZCBBUyBwCisgICAg Sk9JTiBwZ19jbGFzcyBBUyBjIE9OIGMub2lkID0gcC5wZXJyZWxpZAorICAgIEpPSU4gcGdfbmFt ZXNwYWNlIEFTIG5jIE9OIG5jLm9pZCA9IGMucmVsbmFtZXNwYWNlCisgICAgSk9JTiBwZ19hdHRy aWJ1dGUgQVMgc2EgT04gKHNhLmF0dHJlbGlkLCBzYS5hdHRudW0pID0gKHAucGVycmVsaWQsIHAu cGVyc3RhcnQpCisgICAgSk9JTiBwZ19hdHRyaWJ1dGUgQVMgZWEgT04gKGVhLmF0dHJlbGlkLCBl YS5hdHRudW0pID0gKHAucGVycmVsaWQsIHAucGVyZW5kKQorICAgIFdIRVJFIE5PVCBwZ19pc19v dGhlcl90ZW1wX3NjaGVtYShuYy5vaWQpCisgICAgICBBTkQgYy5yZWxraW5kIElOICgncicsICd2 Jyk7CisKK0dSQU5UIFNFTEVDVCBPTiBwZXJpb2RzIFRPIFBVQkxJQzsKIAogCiAvKgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9tZXNvbi5idWlsZCBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvbWVzb24uYnVpbGQKaW5kZXggMTk1OGVhOTIzOGEuLjZjZGY4OWQwZTkzIDEwMDY0NAotLS0g YS9zcmMvYmFja2VuZC9jYXRhbG9nL21lc29uLmJ1aWxkCisrKyBiL3NyYy9iYWNrZW5kL2NhdGFs b2cvbWVzb24uYnVpbGQKQEAgLTI2LDYgKzI2LDcgQEAgYmFja2VuZF9zb3VyY2VzICs9IGZpbGVz KAogICAncGdfbmFtZXNwYWNlLmMnLAogICAncGdfb3BlcmF0b3IuYycsCiAgICdwZ19wYXJhbWV0 ZXJfYWNsLmMnLAorICAncGdfcGVyaW9kLmMnLAogICAncGdfcHJvYy5jJywKICAgJ3BnX3B1Ymxp Y2F0aW9uLmMnLAogICAncGdfcmFuZ2UuYycsCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRh bG9nL29iamVjdGFkZHJlc3MuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvb2JqZWN0YWRkcmVzcy5j CmluZGV4IGM3NWI3MTMxZWQ3Li5lMmIwOTllMjM2MCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv Y2F0YWxvZy9vYmplY3RhZGRyZXNzLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9vYmplY3Rh ZGRyZXNzLmMKQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wZXJhdG9y LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGZhbWlseS5oIgogI2luY2x1ZGUgImNhdGFsb2cv cGdfcGFyYW1ldGVyX2FjbC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ19wb2xpY3kuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3Byb2MuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX3B1YmxpY2F0aW9uLmgiCkBAIC03MjYsNiArNzI3LDkgQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBvYmplY3RfdHlwZV9tYXAKIAl7CiAJCSJkb21haW4gY29uc3Ry YWludCIsIE9CSkVDVF9ET01DT05TVFJBSU5UCiAJfSwKKwl7CisJCSJwZXJpb2QiLCBPQkpFQ1Rf UEVSSU9ECisJfSwKIAl7CiAJCSJjb252ZXJzaW9uIiwgT0JKRUNUX0NPTlZFUlNJT04KIAl9LApA QCAtOTcwLDYgKzk3NCw3IEBAIGdldF9vYmplY3RfYWRkcmVzcyhPYmplY3RUeXBlIG9ianR5cGUs IE5vZGUgKm9iamVjdCwKIAkJCWNhc2UgT0JKRUNUX1RSSUdHRVI6CiAJCQljYXNlIE9CSkVDVF9U QUJDT05TVFJBSU5UOgogCQkJY2FzZSBPQkpFQ1RfUE9MSUNZOgorCQkJY2FzZSBPQkpFQ1RfUEVS SU9EOgogCQkJCWFkZHJlc3MgPSBnZXRfb2JqZWN0X2FkZHJlc3NfcmVsb2JqZWN0KG9ianR5cGUs IGNhc3ROb2RlKExpc3QsIG9iamVjdCksCiAJCQkJCQkJCQkJCQkJICAgJnJlbGF0aW9uLCBtaXNz aW5nX29rKTsKIAkJCQlicmVhazsKQEAgLTE0NzIsNiArMTQ3NywxMyBAQCBnZXRfb2JqZWN0X2Fk ZHJlc3NfcmVsb2JqZWN0KE9iamVjdFR5cGUgb2JqdHlwZSwgTGlzdCAqb2JqZWN0LAogCQkJCUlu dmFsaWRPaWQ7CiAJCQlhZGRyZXNzLm9iamVjdFN1YklkID0gMDsKIAkJCWJyZWFrOworCQljYXNl IE9CSkVDVF9QRVJJT0Q6CisJCQlhZGRyZXNzLmNsYXNzSWQgPSBQZXJpb2RSZWxhdGlvbklkOwor CQkJYWRkcmVzcy5vYmplY3RJZCA9IHJlbGF0aW9uID8KKwkJCQlnZXRfcmVsYXRpb25fcGVyaW9k X29pZChyZWxvaWQsIGRlcG5hbWUsIG1pc3Npbmdfb2spIDoKKwkJCQlJbnZhbGlkT2lkOworCQkJ YWRkcmVzcy5vYmplY3RTdWJJZCA9IDA7CisJCQlicmVhazsKIAkJZGVmYXVsdDoKIAkJCWVsb2co RVJST1IsICJ1bnJlY29nbml6ZWQgb2JqZWN0IHR5cGU6ICVkIiwgKGludCkgb2JqdHlwZSk7CiAJ fQpAQCAtMjI5Myw2ICsyMzA1LDcgQEAgcGdfZ2V0X29iamVjdF9hZGRyZXNzKFBHX0ZVTkNUSU9O X0FSR1MpCiAJCWNhc2UgT0JKRUNUX1JVTEU6CiAJCWNhc2UgT0JKRUNUX1RSSUdHRVI6CiAJCWNh c2UgT0JKRUNUX1RBQkNPTlNUUkFJTlQ6CisJCWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJY2FzZSBP QkpFQ1RfT1BDTEFTUzoKIAkJY2FzZSBPQkpFQ1RfT1BGQU1JTFk6CiAJCQlvYmpub2RlID0gKE5v ZGUgKikgbmFtZTsKQEAgLTI0MDMsNiArMjQxNiw3IEBAIGNoZWNrX29iamVjdF9vd25lcnNoaXAo T2lkIHJvbGVpZCwgT2JqZWN0VHlwZSBvYmp0eXBlLCBPYmplY3RBZGRyZXNzIGFkZHJlc3MsCiAJ CWNhc2UgT0JKRUNUX1RSSUdHRVI6CiAJCWNhc2UgT0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpF Q1RfVEFCQ09OU1RSQUlOVDoKKwkJY2FzZSBPQkpFQ1RfUEVSSU9EOgogCQkJaWYgKCFvYmplY3Rf b3duZXJjaGVjayhSZWxhdGlvblJlbGF0aW9uSWQsIFJlbGF0aW9uR2V0UmVsaWQocmVsYXRpb24p LCByb2xlaWQpKQogCQkJCWFjbGNoZWNrX2Vycm9yKEFDTENIRUNLX05PVF9PV05FUiwgb2JqdHlw ZSwKIAkJCQkJCQkgICBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWxhdGlvbikpOwpAQCAtMzA3 Niw2ICszMDkwLDM4IEBAIGdldE9iamVjdERlc2NyaXB0aW9uKGNvbnN0IE9iamVjdEFkZHJlc3Mg Km9iamVjdCwgYm9vbCBtaXNzaW5nX29rKQogCQkJCWJyZWFrOwogCQkJfQogCisJCWNhc2UgUGVy aW9kUmVsYXRpb25JZDoKKwkJCXsKKwkJCQlIZWFwVHVwbGUJcGVyVHVwOworCQkJCUZvcm1fcGdf cGVyaW9kIHBlcjsKKworCQkJCXBlclR1cCA9IFNlYXJjaFN5c0NhY2hlMShQRVJJT0RPSUQsCisJ CQkJCQkJCQkJIE9iamVjdElkR2V0RGF0dW0ob2JqZWN0LT5vYmplY3RJZCkpOworCQkJCWlmICgh SGVhcFR1cGxlSXNWYWxpZChwZXJUdXApKQorCQkJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3Vw IGZhaWxlZCBmb3IgcGVyaW9kICV1IiwKKwkJCQkJCSBvYmplY3QtPm9iamVjdElkKTsKKwkJCQlw ZXIgPSAoRm9ybV9wZ19wZXJpb2QpIEdFVFNUUlVDVChwZXJUdXApOworCisJCQkJaWYgKE9pZElz VmFsaWQocGVyLT5wZXJyZWxpZCkpCisJCQkJeworCQkJCQlTdHJpbmdJbmZvRGF0YSByZWw7CisK KwkJCQkJaW5pdFN0cmluZ0luZm8oJnJlbCk7CisJCQkJCWdldFJlbGF0aW9uRGVzY3JpcHRpb24o JnJlbCwgcGVyLT5wZXJyZWxpZCwgZmFsc2UpOworCQkJCQlhcHBlbmRTdHJpbmdJbmZvKCZidWZm ZXIsIF8oInBlcmlvZCAlcyBvbiAlcyIpLAorCQkJCQkJCQkJIE5hbWVTdHIocGVyLT5wZXJuYW1l KSwgcmVsLmRhdGEpOworCQkJCQlwZnJlZShyZWwuZGF0YSk7CisJCQkJfQorCQkJCWVsc2UKKwkJ CQl7CisJCQkJCWFwcGVuZFN0cmluZ0luZm8oJmJ1ZmZlciwgXygicGVyaW9kICVzIiksCisJCQkJ CQkJCQkgTmFtZVN0cihwZXItPnBlcm5hbWUpKTsKKwkJCQl9CisKKwkJCQlSZWxlYXNlU3lzQ2Fj aGUocGVyVHVwKTsKKwkJCQlicmVhazsKKwkJCX0KKwogCQljYXNlIENvbnZlcnNpb25SZWxhdGlv bklkOgogCQkJewogCQkJCUhlYXBUdXBsZQljb25UdXA7CkBAIC00NTI5LDYgKzQ1NzUsMTAgQEAg Z2V0T2JqZWN0VHlwZURlc2NyaXB0aW9uKGNvbnN0IE9iamVjdEFkZHJlc3MgKm9iamVjdCwgYm9v bCBtaXNzaW5nX29rKQogCQkJCQkJCQkJCSBtaXNzaW5nX29rKTsKIAkJCWJyZWFrOwogCisJCWNh c2UgUGVyaW9kUmVsYXRpb25JZDoKKwkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmJ1ZmZlciwg InBlcmlvZCIpOworCQkJYnJlYWs7CisKIAkJY2FzZSBDb252ZXJzaW9uUmVsYXRpb25JZDoKIAkJ CWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoJmJ1ZmZlciwgImNvbnZlcnNpb24iKTsKIAkJCWJyZWFr OwpAQCAtNTAzNCw2ICs1MDg0LDI4IEBAIGdldE9iamVjdElkZW50aXR5UGFydHMoY29uc3QgT2Jq ZWN0QWRkcmVzcyAqb2JqZWN0LAogCQkJCWJyZWFrOwogCQkJfQogCisJCWNhc2UgUGVyaW9kUmVs YXRpb25JZDoKKwkJCXsKKwkJCQlIZWFwVHVwbGUJcGVyVHVwOworCQkJCUZvcm1fcGdfcGVyaW9k IHBlcjsKKworCQkJCXBlclR1cCA9IFNlYXJjaFN5c0NhY2hlMShQRVJJT0RPSUQsCisJCQkJCQkJ CQkJIE9iamVjdElkR2V0RGF0dW0ob2JqZWN0LT5vYmplY3RJZCkpOworCQkJCWlmICghSGVhcFR1 cGxlSXNWYWxpZChwZXJUdXApKQorCQkJCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxl ZCBmb3IgcGVyaW9kICV1IiwKKwkJCQkJCSBvYmplY3QtPm9iamVjdElkKTsKKwkJCQlwZXIgPSAo Rm9ybV9wZ19wZXJpb2QpIEdFVFNUUlVDVChwZXJUdXApOworCisJCQkJYXBwZW5kU3RyaW5nSW5m bygmYnVmZmVyLCAiJXMgb24gIiwKKwkJCQkJCQkJIHF1b3RlX2lkZW50aWZpZXIoTmFtZVN0cihw ZXItPnBlcm5hbWUpKSk7CisJCQkJZ2V0UmVsYXRpb25JZGVudGl0eSgmYnVmZmVyLCBwZXItPnBl cnJlbGlkLCBvYmpuYW1lLCBmYWxzZSk7CisJCQkJaWYgKG9iam5hbWUpCisJCQkJCSpvYmpuYW1l ID0gbGFwcGVuZCgqb2JqbmFtZSwgcHN0cmR1cChOYW1lU3RyKHBlci0+cGVybmFtZSkpKTsKKwor CQkJCVJlbGVhc2VTeXNDYWNoZShwZXJUdXApOworCQkJCWJyZWFrOworCQkJfQorCiAJCWNhc2Ug Q29udmVyc2lvblJlbGF0aW9uSWQ6CiAJCQl7CiAJCQkJSGVhcFR1cGxlCWNvblR1cDsKZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfY29uc3RyYWludC5jIGIvc3JjL2JhY2tlbmQv Y2F0YWxvZy9wZ19jb25zdHJhaW50LmMKaW5kZXggNGM4ZTI0MmFkNGEuLmM5YjVjMTM2YzgxIDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYworKysgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuYwpAQCAtODEyLDkgKzgxMiwxNCBAQCBBZGp1 c3ROb3ROdWxsSW5oZXJpdGFuY2UoT2lkIHJlbGlkLCBBdHRyTnVtYmVyIGF0dG51bSwKICAqIFRo aXMgaXMgc2VsZG9tIG5lZWRlZCwgc28gd2UganVzdCBzY2FuIHBnX2NvbnN0cmFpbnQgZWFjaCB0 aW1lLgogICoKICAqICdpbmNsdWRlX25vaW5oJyBkZXRlcm1pbmVzIHdoZXRoZXIgdG8gaW5jbHVk ZSBOTyBJTkhFUklUIGNvbnN0cmFpbnRzIG9yIG5vdC4KKyAqCisgKiAnZXhjbHVkZXMnIGNvbnRh aW5zIGEgbGlzdCBvZiBhdHRub3Mgd2hvc2UgY29uc3RyYWludHMgd2Ugc2hvdWxkIGV4Y2x1ZGUs CisgKiBmb3IgZXhhbXBsZSBjb25zdHJhaW50cyBvbiBQRVJJT0RzJyBoaWRkZW4gR0VORVJBVEVE IGNvbHVtbnMgKHNpbmNlIHRob3NlCisgKiBhcmVuJ3QgZXhwb3NlZCB0byB1c2VycykuCiAgKi8K IExpc3QgKgotUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoT2lkIHJlbGlkLCBib29sIGNv b2tlZCwgYm9vbCBpbmNsdWRlX25vaW5oKQorUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMo T2lkIHJlbGlkLCBib29sIGNvb2tlZCwgYm9vbCBpbmNsdWRlX25vaW5oLAorCQkJCQkJCSAgQml0 bWFwc2V0ICpleGNsdWRlcykKIHsKIAlMaXN0CSAgICpub3RudWxscyA9IE5JTDsKIAlSZWxhdGlv bgljb25zdHJSZWw7CkBAIC04NDIsNiArODQ3LDkgQEAgUmVsYXRpb25HZXROb3ROdWxsQ29uc3Ry YWludHMoT2lkIHJlbGlkLCBib29sIGNvb2tlZCwgYm9vbCBpbmNsdWRlX25vaW5oKQogCiAJCWNv bG51bSA9IGV4dHJhY3ROb3ROdWxsQ29sdW1uKGh0dXApOwogCisJCWlmIChibXNfaXNfbWVtYmVy KGNvbG51bSwgZXhjbHVkZXMpKQorCQkJY29udGludWU7CisKIAkJaWYgKGNvb2tlZCkKIAkJewog CQkJQ29va2VkQ29uc3RyYWludCAqY29va2VkOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY2F0 YWxvZy9wZ19wZXJpb2QuYyBiL3NyYy9iYWNrZW5kL2NhdGFsb2cvcGdfcGVyaW9kLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjI0YjE5Mzg1MzJiCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9wZ19wZXJpb2QuYwpAQCAtMCwwICsxLDEzMiBA QAorLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKgorICogcGdfcGVyaW9kLmMKKyAqCSAgcm91dGluZXMg dG8gc3VwcG9ydCBtYW5pcHVsYXRpb24gb2YgdGhlIHBnX3BlcmlvZCByZWxhdGlvbgorICoKKyAq IFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5Ni0yMDIxLCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZl bG9wbWVudCBHcm91cAorICoKKyAqCisgKiBJREVOVElGSUNBVElPTgorICoJICBzcmMvYmFja2Vu ZC9jYXRhbG9nL3BnX3BlcmlvZC5jCisgKgorICotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgKi8KKyNpbmNs dWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAiYWNjZXNzL2dlbmFtLmgiCisjaW5jbHVkZSAi YWNjZXNzL2hlYXBhbS5oIgorI2luY2x1ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKKyNpbmNs dWRlICJjYXRhbG9nL2luZGV4aW5nLmgiCisjaW5jbHVkZSAiY2F0YWxvZy9wZ19wZXJpb2QuaCIK KyNpbmNsdWRlICJ1dGlscy9mbWdyb2lkcy5oIgorI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5o IgorI2luY2x1ZGUgInV0aWxzL3JlbC5oIgorI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCisK KworLyoKKyAqIERlbGV0ZSBhIHNpbmdsZSBwZXJpb2QgcmVjb3JkLgorICovCit2b2lkCitSZW1v dmVQZXJpb2RCeUlkKE9pZCBwZXJpb2RJZCkKK3sKKwlSZWxhdGlvbglwZ19wZXJpb2Q7CisJSGVh cFR1cGxlCXR1cDsKKworCXBnX3BlcmlvZCA9IHRhYmxlX29wZW4oUGVyaW9kUmVsYXRpb25JZCwg Um93RXhjbHVzaXZlTG9jayk7CisKKwl0dXAgPSBTZWFyY2hTeXNDYWNoZTEoUEVSSU9ET0lELCBP YmplY3RJZEdldERhdHVtKHBlcmlvZElkKSk7CisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cCkp IC8qIHNob3VsZCBub3QgaGFwcGVuICovCisJCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFp bGVkIGZvciBwZXJpb2QgJXUiLCBwZXJpb2RJZCk7CisKKwkvKiBGcnkgdGhlIHBlcmlvZCBpdHNl bGYgKi8KKwlDYXRhbG9nVHVwbGVEZWxldGUocGdfcGVyaW9kLCAmdHVwLT50X3NlbGYpOworCisJ LyogQ2xlYW4gdXAgKi8KKwlSZWxlYXNlU3lzQ2FjaGUodHVwKTsKKwl0YWJsZV9jbG9zZShwZ19w ZXJpb2QsIFJvd0V4Y2x1c2l2ZUxvY2spOworfQorCisvKgorICogZ2V0X3JlbGF0aW9uX3Blcmlv ZF9vaWQKKyAqCQlGaW5kIGEgcGVyaW9kIG9uIHRoZSBzcGVjaWZpZWQgcmVsYXRpb24gd2l0aCB0 aGUgc3BlY2lmaWVkIG5hbWUuCisgKgkJUmV0dXJucyBwZXJpb2QncyBPSUQuCisgKi8KK09pZAor Z2V0X3JlbGF0aW9uX3BlcmlvZF9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFyICpwZXJuYW1lLCBi b29sIG1pc3Npbmdfb2spCit7CisJUmVsYXRpb24JcGdfcGVyaW9kOworCUhlYXBUdXBsZQl0dXBs ZTsKKwlTeXNTY2FuRGVzYyBzY2FuOworCVNjYW5LZXlEYXRhIHNrZXlbMl07CisJT2lkCQkJcGVy T2lkID0gSW52YWxpZE9pZDsKKworCS8qIEZldGNoIHRoZSBwZXJpb2QgdHVwbGUgZnJvbSBwZ19w ZXJpb2QuICovCisJcGdfcGVyaW9kID0gdGFibGVfb3BlbihQZXJpb2RSZWxhdGlvbklkLCBBY2Nl c3NTaGFyZUxvY2spOworCisJU2NhbktleUluaXQoJnNrZXlbMF0sCisJCQkJQW51bV9wZ19wZXJp b2RfcGVycmVsaWQsCisJCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVyLCBGX09JREVRLAorCQkJCU9i amVjdElkR2V0RGF0dW0ocmVsaWQpKTsKKwlTY2FuS2V5SW5pdCgmc2tleVsxXSwKKwkJCQlBbnVt X3BnX3BlcmlvZF9wZXJuYW1lLAorCQkJCUJURXF1YWxTdHJhdGVneU51bWJlciwgRl9OQU1FRVEs CisJCQkJQ1N0cmluZ0dldERhdHVtKHBlcm5hbWUpKTsKKworCXNjYW4gPSBzeXN0YWJsZV9iZWdp bnNjYW4ocGdfcGVyaW9kLCBQZXJpb2RSZWxpZE5hbWVJbmRleElkLCB0cnVlLAorCQkJCQkJCSAg TlVMTCwgMiwgc2tleSk7CisKKwkvKiBUaGVyZSBjYW4gYmUgYXQgbW9zdCBvbmUgbWF0Y2hpbmcg cm93ICovCisJaWYgKEhlYXBUdXBsZUlzVmFsaWQodHVwbGUgPSBzeXN0YWJsZV9nZXRuZXh0KHNj YW4pKSkKKwkJcGVyT2lkID0gKChGb3JtX3BnX3BlcmlvZCkgR0VUU1RSVUNUKHR1cGxlKSktPm9p ZDsKKworCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7CisKKwkvKiBJZiBubyBzdWNoIHBlcmlvZCBl eGlzdHMsIGNvbXBsYWluICovCisJaWYgKCFPaWRJc1ZhbGlkKHBlck9pZCkgJiYgIW1pc3Npbmdf b2spCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfT0JK RUNUKSwKKwkJCQkgZXJybXNnKCJwZXJpb2QgXCIlc1wiIGZvciB0YWJsZSBcIiVzXCIgZG9lcyBu b3QgZXhpc3QiLAorCQkJCQkJcGVybmFtZSwgZ2V0X3JlbF9uYW1lKHJlbGlkKSkpKTsKKworCXRh YmxlX2Nsb3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCXJldHVybiBwZXJPaWQ7 Cit9CisKKy8qCisgKiBnZXRfcGVyaW9kX2F0dG5vcworICoJCUdldCB0aGUgYXR0bm8gb2YgdGhl IEdFTkVSQVRFRCByYW5nZXR5cGUgY29sdW1uCisgKgkJZm9yIGFsbCBQRVJJT0RzIGluIHRoaXMg dGFibGUuCisgKi8KK2V4dGVybiBCaXRtYXBzZXQgKgorZ2V0X3BlcmlvZF9hdHRub3MoT2lkIHJl bGlkKQoreworCUJpdG1hcHNldCAgKmF0dG5vcyA9IE5VTEw7CisJUmVsYXRpb24JcGdfcGVyaW9k OworCUhlYXBUdXBsZQl0dXBsZTsKKwlTeXNTY2FuRGVzYyBzY2FuOworCVNjYW5LZXlEYXRhIHNr ZXlbMV07CisKKwlwZ19wZXJpb2QgPSB0YWJsZV9vcGVuKFBlcmlvZFJlbGF0aW9uSWQsIEFjY2Vz c1NoYXJlTG9jayk7CisKKwlTY2FuS2V5SW5pdCgmc2tleVswXSwKKwkJCQlBbnVtX3BnX3Blcmlv ZF9wZXJyZWxpZCwKKwkJCQlCVEVxdWFsU3RyYXRlZ3lOdW1iZXIsIEZfT0lERVEsCisJCQkJT2Jq ZWN0SWRHZXREYXR1bShyZWxpZCkpOworCisJc2NhbiA9IHN5c3RhYmxlX2JlZ2luc2NhbihwZ19w ZXJpb2QsIFBlcmlvZFJlbGlkTmFtZUluZGV4SWQsIHRydWUsCisJCQkJCQkJICBOVUxMLCAxLCBz a2V5KTsKKworCXdoaWxlIChIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlID0gc3lzdGFibGVfZ2V0bmV4 dChzY2FuKSkpCisJeworCQlGb3JtX3BnX3BlcmlvZCBwZXJpb2QgPSAoRm9ybV9wZ19wZXJpb2Qp IEdFVFNUUlVDVCh0dXBsZSk7CisKKwkJYXR0bm9zID0gYm1zX2FkZF9tZW1iZXIoYXR0bm9zLCBw ZXJpb2QtPnBlcnJhbmdlKTsKKwl9CisKKwlzeXN0YWJsZV9lbmRzY2FuKHNjYW4pOworCXRhYmxl X2Nsb3NlKHBnX3BlcmlvZCwgQWNjZXNzU2hhcmVMb2NrKTsKKworCXJldHVybiBhdHRub3M7Cit9 CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQgYi9zcmMv YmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQKaW5kZXggM2E4YWQyMDE2MDcuLjAxNmI2 N2JjZjFjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jYXRhbG9nL3NxbF9mZWF0dXJlcy50eHQK KysrIGIvc3JjL2JhY2tlbmQvY2F0YWxvZy9zcWxfZmVhdHVyZXMudHh0CkBAIC00NDgsNyArNDQ4 LDcgQEAgVDE3NglTZXF1ZW5jZSBnZW5lcmF0b3Igc3VwcG9ydAkJCU5PCXN1cHBvcnRlZCBleGNl cHQgZm9yIE5FWFQgVkFMVUUgRk9SCiBUMTc3CVNlcXVlbmNlIGdlbmVyYXRvciBzdXBwb3J0OiBz aW1wbGUgcmVzdGFydCBvcHRpb24JCQlZRVMJCiBUMTc4CUlkZW50aXR5IGNvbHVtbnM6IHNpbXBs ZSByZXN0YXJ0IG9wdGlvbgkJCVlFUwkKIFQxODAJU3lzdGVtLXZlcnNpb25lZCB0YWJsZXMJCQlO TwkKLVQxODEJQXBwbGljYXRpb24tdGltZSBwZXJpb2QgdGFibGVzCQkJTk8JCitUMTgxCUFwcGxp Y2F0aW9uLXRpbWUgcGVyaW9kIHRhYmxlcwkJCVlFUwkKIFQxOTEJUmVmZXJlbnRpYWwgYWN0aW9u IFJFU1RSSUNUCQkJWUVTCQogVDIwMAlUcmlnZ2VyIERETAkJCU5PCXNpbWlsYXIgYnV0IG5vdCBm dWxseSBjb21wYXRpYmxlCiBUMjAxCUNvbXBhcmFibGUgZGF0YSB0eXBlcyBmb3IgcmVmZXJlbnRp YWwgY29uc3RyYWludHMJCQlZRVMJCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy9j b21tZW50LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9jb21tZW50LmMKaW5kZXggNWM3ODNjYzYx ZjEuLjM2MzA2YzYxOGIyIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy9jb21tZW50 LmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvY29tbWVudC5jCkBAIC0xMDIsNiArMTAyLDE2 IEBAIENvbW1lbnRPYmplY3QoQ29tbWVudFN0bXQgKnN0bXQpCiAJCQkJCQkJCVJlbGF0aW9uR2V0 UmVsYXRpb25OYW1lKHJlbGF0aW9uKSksCiAJCQkJCQkgZXJyZGV0YWlsX3JlbGtpbmRfbm90X3N1 cHBvcnRlZChyZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kKSkpOwogCQkJYnJlYWs7CisKKwkJY2Fz ZSBPQkpFQ1RfUEVSSU9EOgorCQkJLyogUGVyaW9kcyBjYW4gb25seSBnbyBvbiB0YWJsZXMgKi8K KwkJCWlmIChyZWxhdGlvbi0+cmRfcmVsLT5yZWxraW5kICE9IFJFTEtJTkRfUkVMQVRJT04pCisJ CQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfV1JPTkdfT0JKRUNUX1RZ UEUpLAorCQkJCQkJIGVycm1zZygiXCIlc1wiIGlzIG5vdCBhIHRhYmxlIiwKKwkJCQkJCQkJUmVs YXRpb25HZXRSZWxhdGlvbk5hbWUocmVsYXRpb24pKSkpOworCQkJYnJlYWs7CisKIAkJZGVmYXVs dDoKIAkJCWJyZWFrOwogCX0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL2Ryb3Bj bWRzLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCmluZGV4IGNlYjlhMjI5YjYz Li41MjZjM2ZmNTE0MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZHJvcGNtZHMu YworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9kcm9wY21kcy5jCkBAIC01MDQsNiArNTA0LDcg QEAgZG9lc19ub3RfZXhpc3Rfc2tpcHBpbmcoT2JqZWN0VHlwZSBvYmp0eXBlLCBOb2RlICpvYmpl Y3QpCiAJCWNhc2UgT0JKRUNUX0RPTUNPTlNUUkFJTlQ6CiAJCWNhc2UgT0JKRUNUX0xBUkdFT0JK RUNUOgogCQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVDVF9QRVJJT0Q6 CiAJCWNhc2UgT0JKRUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKIAkJY2FzZSBPQkpFQ1RfUFVC TElDQVRJT05fUkVMOgogCQljYXNlIE9CSkVDVF9UQUJDT05TVFJBSU5UOgpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jIGIvc3JjL2JhY2tlbmQvY29tbWFu ZHMvZXZlbnRfdHJpZ2dlci5jCmluZGV4IGYzNDg2OGRhNWFiLi41MTRkYTA0YmU3NyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvZXZlbnRfdHJpZ2dlci5jCisrKyBiL3NyYy9iYWNr ZW5kL2NvbW1hbmRzL2V2ZW50X3RyaWdnZXIuYwpAQCAtMjMwMSw2ICsyMzAxLDcgQEAgc3RyaW5n aWZ5X2dyYW50X29ianR5cGUoT2JqZWN0VHlwZSBvYmp0eXBlKQogCQljYXNlIE9CSkVDVF9PUENM QVNTOgogCQljYXNlIE9CSkVDVF9PUEVSQVRPUjoKIAkJY2FzZSBPQkpFQ1RfT1BGQU1JTFk6CisJ CWNhc2UgT0JKRUNUX1BFUklPRDoKIAkJY2FzZSBPQkpFQ1RfUE9MSUNZOgogCQljYXNlIE9CSkVD VF9QVUJMSUNBVElPTjoKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fTkFNRVNQQUNFOgpAQCAt MjM4NSw2ICsyMzg2LDcgQEAgc3RyaW5naWZ5X2FkZWZwcml2c19vYmp0eXBlKE9iamVjdFR5cGUg b2JqdHlwZSkKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6CiAJCWNhc2UgT0JKRUNUX09QRkFNSUxZ OgogCQljYXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJ CWNhc2UgT0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT046CiAJCWNhc2Ug T0JKRUNUX1BVQkxJQ0FUSU9OX05BTUVTUEFDRToKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Nv bW1hbmRzL3NlY2xhYmVsLmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZWNsYWJlbC5jCmluZGV4 IGNlZTVkN2JiYjljLi5mODY1MGViNGZlNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFu ZHMvc2VjbGFiZWwuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy9zZWNsYWJlbC5jCkBAIC03 OSw2ICs3OSw3IEBAIFNlY0xhYmVsU3VwcG9ydHNPYmplY3RUeXBlKE9iamVjdFR5cGUgb2JqdHlw ZSkKIAkJY2FzZSBPQkpFQ1RfT1BFUkFUT1I6CiAJCWNhc2UgT0JKRUNUX09QRkFNSUxZOgogCQlj YXNlIE9CSkVDVF9QQVJBTUVURVJfQUNMOgorCQljYXNlIE9CSkVDVF9QRVJJT0Q6CiAJCWNhc2Ug T0JKRUNUX1BPTElDWToKIAkJY2FzZSBPQkpFQ1RfUFVCTElDQVRJT05fTkFNRVNQQUNFOgogCQlj YXNlIE9CSkVDVF9QVUJMSUNBVElPTl9SRUw6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21t YW5kcy90YWJsZWNtZHMuYyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4 IDE3NjM1ZWI4YTNhLi5hYTBkMGUwN2FhMCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvY29tbWFu ZHMvdGFibGVjbWRzLmMKKysrIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMKQEAg LTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX2xhcmdlb2JqZWN0X21ldGFkYXRh LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRhbG9n L3BnX29wY2xhc3MuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfcG9saWN5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbl9yZWwuaCIKQEAgLTE1Niw2ICsxNTcsMTMgQEAg dHlwZWRlZiBlbnVtIEFsdGVyVGFibGVQYXNzCiAJQVRfUEFTU19PTERfSU5ERVgsCQkJLyogcmUt YWRkIGV4aXN0aW5nIGluZGV4ZXMgKi8KIAlBVF9QQVNTX09MRF9DT05TVFIsCQkJLyogcmUtYWRk IGV4aXN0aW5nIGNvbnN0cmFpbnRzICovCiAJLyogV2UgY291bGQgc3VwcG9ydCBhIFJFTkFNRSBD T0xVTU4gcGFzcyBoZXJlLCBidXQgbm90IGN1cnJlbnRseSB1c2VkICovCisKKwkvKgorCSAqIFdl IG11c3QgYWRkIFBFUklPRHMgYWZ0ZXIgY29sdW1ucywgaW4gY2FzZSB0aGV5IHJlZmVyZW5jZSBh IG5ld2x5LWFkZGVkCisJICogY29sdW1uLCBhbmQgYmVmb3JlIGNvbnN0cmFpbnRzLCBpbiBjYXNl IGEgbmV3bHktYWRkZWQgUEsvRksgcmVmZXJlbmNlcworCSAqIHRoZW0uCisJICovCisJQVRfUEFT U19BRERfUEVSSU9ELAkJCS8qIEFERCBQRVJJT0QgKi8KIAlBVF9QQVNTX0FERF9DT05TVFIsCQkJ LyogQUREIGNvbnN0cmFpbnRzIChpbml0aWFsIGV4YW1pbmF0aW9uKSAqLwogCUFUX1BBU1NfQ09M X0FUVFJTLAkJCS8qIHNldCBjb2x1bW4gYXR0cmlidXRlcywgZWcgTk9UIE5VTEwgKi8KIAlBVF9Q QVNTX0FERF9JTkRFWENPTlNUUiwJLyogQUREIGluZGV4LWJhc2VkIGNvbnN0cmFpbnRzICovCkBA IC0zNzUsNiArMzgzLDcgQEAgc3RhdGljIExpc3QgKk1lcmdlQXR0cmlidXRlcyhMaXN0ICpjb2x1 bW5zLCBjb25zdCBMaXN0ICpzdXBlcnMsIGNoYXIgcmVscGVyc2lzdGUKIAkJCQkJCQkgYm9vbCBp c19wYXJ0aXRpb24sIExpc3QgKipzdXBjb25zdHIsCiAJCQkJCQkJIExpc3QgKipzdXBub3RudWxs cyk7CiBzdGF0aWMgTGlzdCAqTWVyZ2VDaGVja0NvbnN0cmFpbnQoTGlzdCAqY29uc3RyYWludHMs IGNvbnN0IGNoYXIgKm5hbWUsIE5vZGUgKmV4cHIsIGJvb2wgaXNfZW5mb3JjZWQpOworc3RhdGlj IExpc3QgKk1lcmdlUGVyaW9kcyhjaGFyICpyZWxuYW1lLCBMaXN0ICpwZXJpb2RzLCBMaXN0ICp0 YWJsZUVsdHMsIExpc3QgKnN1cGVycyk7CiBzdGF0aWMgdm9pZCBNZXJnZUNoaWxkQXR0cmlidXRl KExpc3QgKmluaF9jb2x1bW5zLCBpbnQgZXhpc3RfYXR0bm8sIGludCBuZXdjb2xfYXR0bm8sIGNv bnN0IENvbHVtbkRlZiAqbmV3ZGVmKTsKIHN0YXRpYyBDb2x1bW5EZWYgKk1lcmdlSW5oZXJpdGVk QXR0cmlidXRlKExpc3QgKmluaF9jb2x1bW5zLCBpbnQgZXhpc3RfYXR0bm8sIGNvbnN0IENvbHVt bkRlZiAqbmV3ZGVmKTsKIHN0YXRpYyB2b2lkIE1lcmdlQXR0cmlidXRlc0ludG9FeGlzdGluZyhS ZWxhdGlvbiBjaGlsZF9yZWwsIFJlbGF0aW9uIHBhcmVudF9yZWwsIGJvb2wgaXNwYXJ0aXRpb24p OwpAQCAtNDk3LDYgKzUwNiw4IEBAIHN0YXRpYyBPYmplY3RBZGRyZXNzIEFURXhlY0FkZENvbHVt bihMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZvICp0YWIsCiAJCQkJCQkJCQkgQWx0ZXJU YWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KTsKIHN0YXRpYyBib29sIGNoZWNrX2Zvcl9jb2x1 bW5fbmFtZV9jb2xsaXNpb24oUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xuYW1lLAogCQkJ CQkJCQkJCQlib29sIGlmX25vdF9leGlzdHMpOworc3RhdGljIGJvb2wgY2hlY2tfZm9yX3Blcmlv ZF9uYW1lX2NvbGxpc2lvbihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnBlcm5hbWUsCisJCQkJ CQkJCQkJCWJvb2wgY29sZXhpc3RzLCBib29sIGlmX25vdF9leGlzdHMpOwogc3RhdGljIHZvaWQg YWRkX2NvbHVtbl9kYXRhdHlwZV9kZXBlbmRlbmN5KE9pZCByZWxpZCwgaW50MzIgYXR0bnVtLCBP aWQgdHlwaWQpOwogc3RhdGljIHZvaWQgYWRkX2NvbHVtbl9jb2xsYXRpb25fZGVwZW5kZW5jeShP aWQgcmVsaWQsIGludDMyIGF0dG51bSwgT2lkIGNvbGxpZCk7CiBzdGF0aWMgT2JqZWN0QWRkcmVz cyBBVEV4ZWNEcm9wTm90TnVsbChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbE5hbWUsIGJv b2wgcmVjdXJzZSwKQEAgLTUxNCw2ICs1MjUsMTUgQEAgc3RhdGljIE9iamVjdEFkZHJlc3MgQVRF eGVjQ29sdW1uRGVmYXVsdChSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKmNvbE5hbWUsCiAJCQkJ CQkJCQkJIE5vZGUgKm5ld0RlZmF1bHQsIExPQ0tNT0RFIGxvY2ttb2RlKTsKIHN0YXRpYyBPYmpl Y3RBZGRyZXNzIEFURXhlY0Nvb2tlZENvbHVtbkRlZmF1bHQoUmVsYXRpb24gcmVsLCBBdHRyTnVt YmVyIGF0dG51bSwKIAkJCQkJCQkJCQkJICAgTm9kZSAqbmV3RGVmYXVsdCk7CitzdGF0aWMgdm9p ZCBBVFByZXBBZGRQZXJpb2QoTGlzdCAqKndxdWV1ZSwgUmVsYXRpb24gcmVsLCBBbHRlclRhYmxl Q21kICpjbWQsCisJCQkJCQkJTE9DS01PREUgbG9ja21vZGUsIEFsdGVyVGFibGVVdGlsaXR5Q29u dGV4dCAqY29udGV4dCk7CitzdGF0aWMgT2JqZWN0QWRkcmVzcyBBVEV4ZWNBZGRQZXJpb2QoTGlz dCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAorCQkJCQkJCQkJIFJlbGF0aW9uIHJl bCwgUGVyaW9kRGVmICpwZXJpb2QsCisJCQkJCQkJCQkgTE9DS01PREUgbG9ja21vZGUsIEFsdGVy VGFibGVVdGlsaXR5Q29udGV4dCAqY29udGV4dCk7CitzdGF0aWMgdm9pZCBBVEV4ZWNEcm9wUGVy aW9kKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqcGVyaW9kTmFtZSwKKwkJCQkJCQkgRHJvcEJl aGF2aW9yIGJlaGF2aW9yLAorCQkJCQkJCSBib29sIHJlY3Vyc2UsIGJvb2wgcmVjdXJzaW5nLAor CQkJCQkJCSBib29sIG1pc3Npbmdfb2spOwogc3RhdGljIE9iamVjdEFkZHJlc3MgQVRFeGVjQWRk SWRlbnRpdHkoUmVsYXRpb24gcmVsLCBjb25zdCBjaGFyICpjb2xOYW1lLAogCQkJCQkJCQkJICAg Tm9kZSAqZGVmLCBMT0NLTU9ERSBsb2NrbW9kZSwgYm9vbCByZWN1cnNlLCBib29sIHJlY3Vyc2lu Zyk7CiBzdGF0aWMgT2JqZWN0QWRkcmVzcyBBVEV4ZWNTZXRJZGVudGl0eShSZWxhdGlvbiByZWws IGNvbnN0IGNoYXIgKmNvbE5hbWUsCkBAIC03MzksNiArNzU5LDEwIEBAIHN0YXRpYyBMaXN0ICpH ZXRQYXJlbnRlZEZvcmVpZ25LZXlSZWZzKFJlbGF0aW9uIHBhcnRpdGlvbik7CiBzdGF0aWMgdm9p ZCBBVERldGFjaENoZWNrTm9Gb3JlaWduS2V5UmVmcyhSZWxhdGlvbiBwYXJ0aXRpb24pOwogc3Rh dGljIGNoYXIgR2V0QXR0cmlidXRlQ29tcHJlc3Npb24oT2lkIGF0dHR5cGlkLCBjb25zdCBjaGFy ICpjb21wcmVzc2lvbik7CiBzdGF0aWMgY2hhciBHZXRBdHRyaWJ1dGVTdG9yYWdlKE9pZCBhdHR0 eXBpZCwgY29uc3QgY2hhciAqc3RvcmFnZW1vZGUpOworc3RhdGljIHZvaWQgQWRkUmVsYXRpb25O ZXdQZXJpb2QoUmVsYXRpb24gcmVsLCBQZXJpb2REZWYgKnBlcmlvZCk7CitzdGF0aWMgdm9pZCBW YWxpZGF0ZVBlcmlvZChSZWxhdGlvbiByZWwsIFBlcmlvZERlZiAqcGVyaW9kKTsKK3N0YXRpYyBD b25zdHJhaW50ICptYWtlX2NvbnN0cmFpbnRfZm9yX3BlcmlvZChSZWxhdGlvbiByZWwsIFBlcmlv ZERlZiAqcGVyaW9kKTsKK3N0YXRpYyBDb2x1bW5EZWYgKm1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9w ZXJpb2QoUGVyaW9kRGVmICpwZXJpb2QpOwogCiAKIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTk2OCw2ICs5OTIs ODIgQEAgRGVmaW5lUmVsYXRpb24oQ3JlYXRlU3RtdCAqc3RtdCwgY2hhciByZWxraW5kLCBPaWQg b3duZXJJZCwKIAkJCQkJCXN0bXQtPnBhcnRib3VuZCAhPSBOVUxMLAogCQkJCQkJJm9sZF9jb25z dHJhaW50cywgJm9sZF9ub3RudWxscyk7CiAKKwkvKgorCSAqIFVzaW5nIHRoZSBjb2x1bW4gbGlz dCAoaW5jbHVkaW5nIGluaGVyaXRlZCBjb2x1bW5zKSwgZmluZCB0aGUgc3RhcnQvZW5kCisJICog Y29sdW1ucyBmb3IgZWFjaCBwZXJpb2QuIFBFUklPRHMgc2hvdWxkIGJlIGluaGVyaXRlZCB0b28g KGJ1dCBhcmVuJ3QKKwkgKiB5ZXQpLgorCSAqLworCXN0bXQtPnBlcmlvZHMgPSBNZXJnZVBlcmlv ZHMocmVsbmFtZSwgc3RtdC0+cGVyaW9kcywgc3RtdC0+dGFibGVFbHRzLCBpbmhlcml0T2lkcyk7 CisKKwkvKgorCSAqIEZvciBlYWNoIFBFUklPRCB3ZSBuZWVkIGEgR0VORVJBVEVEIGNvbHVtbi4g VXN1YWxseSB3ZSBtdXN0IGNyZWF0ZQorCSAqIHRoaXMsIHNvIHdlIGFkZCBpdCB0byB0YWJsZUVs dHMuIElmIHRoZSB1c2VyIHNheXMgdGhlIGNvbHVtbiBhbHJlYWR5CisJICogZXhpc3RzLCBtYWtl IHN1cmUgaXQgaXMgc2Vuc2libGUuIFRoZXNlIGNvbHVtbnMgYXJlIG5vdCBpbmhlcml0ZWQsIHNv CisJICogd2UgZG9uJ3Qgd29ycnkgYWJvdXQgY29uZmxpY3RzIGluIHRhYmxlRWx0cy4KKwkgKgor CSAqIFdlIGFsbG93IHRoaXMgY29sZXhpc3RzIG9wdGlvbiB0byBzdXBwb3J0IHBnX3VwZ3JhZGUs IHNvIHdlIGhhdmUgbW9yZQorCSAqIGNvbnRyb2wgb3ZlciB0aGUgR0VORVJBVEVEIGNvbHVtbiAo d2hvc2UgYXR0bnVtIG11c3QgbWF0Y2ggdGhlIG9sZAorCSAqIHZhbHVlKS4KKwkgKgorCSAqIFNp bmNlIHRoZSBHRU5FUkFURUQgY29sdW1uIG11c3QgYmUgTk9UIE5VTEwsIHdlIGFkZCBhIGNvbnN0 cmFpbnQgdG8KKwkgKiBubmNvbnN0cmFpbnRzLgorCSAqLworCWZvcmVhY2gobGlzdHB0ciwgc3Rt dC0+cGVyaW9kcykKKwl7CisJCVBlcmlvZERlZiAgKnBlcmlvZCA9IChQZXJpb2REZWYgKikgbGZp cnN0KGxpc3RwdHIpOworCisJCWlmIChwZXJpb2QtPmNvbGV4aXN0cykKKwkJeworCQkJTGlzdENl bGwgICAqY2VsbDsKKwkJCWJvb2wJCWZvdW5kID0gZmFsc2U7CisKKwkJCWZvcmVhY2goY2VsbCwg c3RtdC0+dGFibGVFbHRzKQorCQkJeworCQkJCUNvbHVtbkRlZiAgKmNvbERlZiA9IGxmaXJzdChj ZWxsKTsKKworCQkJCWlmIChzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCBjb2xEZWYtPmNvbG5h bWUpID09IDApCisJCQkJeworCQkJCQkvKgorCQkJCQkgKiBMb3RzIHRvIGNoZWNrIGhlcmU6IEl0 IG11c3QgYmUgR0VORVJBVEVEIEFMV0FZUywgaXQKKwkJCQkJICogbXVzdCBoYXZlIHRoZSByaWdo dCBleHByZXNzaW9uLCBpdCBtdXN0IGJlIHRoZSByaWdodAorCQkJCQkgKiB0eXBlLCBpdCBtdXN0 IGJlIE5PVCBOVUxMLCBpdCBtdXN0IG5vdCBiZSBpbmhlcml0ZWQuCisJCQkJCSAqLworCQkJCQlp ZiAoY29sRGVmLT5nZW5lcmF0ZWQgPT0gJ1wwJykKKwkJCQkJCWVyZXBvcnQoRVJST1IsIChlcnJt c2coIlBlcmlvZCAlcyB1c2VzIGEgbm9uLWdlbmVyYXRlZCBjb2x1bW4iLCBwZXJpb2QtPnBlcmlv ZG5hbWUpKSk7CisKKwkJCQkJaWYgKGNvbERlZi0+Z2VuZXJhdGVkICE9IEFUVFJJQlVURV9HRU5F UkFURURfU1RPUkVEKQorCQkJCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVz ZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgaXMgbm90IFNUT1JFRCIsIHBlcmlvZC0+cGVyaW9k bmFtZSkpKTsKKworCQkJCQkvKgorCQkJCQkgKiBYWFg6IFdlIHNob3VsZCBjaGVjayB0aGUgR0VO RVJBVEVEIGV4cHJlc3Npb24gYWxzbywgYnV0CisJCQkJCSAqIHRoYXQgaXMgaGFyZCB0byBkbyBm b3Igbm9uLXJhbmdlL211bHRpcmFuZ2UgUEVSSU9Ecy4KKwkJCQkJICovCisJCQkJCWlmICghY29s RGVmLT5pc19ub3RfbnVsbCAmJiAhSXNCaW5hcnlVcGdyYWRlKQorCQkJCQkJZXJlcG9ydChFUlJP UiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgYWxsb3dz IG51bGxzIiwgcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJCQkJCWlmIChwZXJpb2QtPnJuZ3R5 cGlkICE9IHR5cGVuYW1lVHlwZUlkKE5VTEwsIGNvbERlZi0+dHlwZU5hbWUpKQorCQkJCQkJZXJl cG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHdp dGggdGhlIHdyb25nIHR5cGUiLCBwZXJpb2QtPnBlcmlvZG5hbWUpKSk7CisKKwkJCQkJaWYgKCFj b2xEZWYtPmlzX2xvY2FsKQorCQkJCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVz IHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgaXMgaW5oZXJpdGVkIiwgcGVyaW9kLT5wZXJp b2RuYW1lKSkpOworCisJCQkJCWZvdW5kID0gdHJ1ZTsKKwkJCQl9CisJCQl9CisKKwkJCWlmICgh Zm91bmQpCisJCQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiTm8gY29sdW1uIGZvdW5kIHdpdGgg bmFtZSAlcyIsIHBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCUNv bHVtbkRlZiAgKmNvbCA9IG1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJpb2QocGVyaW9kKTsKKwkJ CUNvbnN0cmFpbnQgKmNvbnN0ciA9IG1ha2VOb3ROdWxsQ29uc3RyYWludChtYWtlU3RyaW5nKGNv bC0+Y29sbmFtZSkpOworCisJCQlzdG10LT50YWJsZUVsdHMgPSBsYXBwZW5kKHN0bXQtPnRhYmxl RWx0cywgY29sKTsKKwkJCXN0bXQtPm5uY29uc3RyYWludHMgPSBsYXBwZW5kKHN0bXQtPm5uY29u c3RyYWludHMsIGNvbnN0cik7CisJCX0KKwl9CisKIAkvKgogCSAqIENyZWF0ZSBhIHR1cGxlIGRl c2NyaXB0b3IgZnJvbSB0aGUgcmVsYXRpb24gc2NoZW1hLiAgTm90ZSB0aGF0IHRoaXMKIAkgKiBk ZWFscyB3aXRoIGNvbHVtbiBuYW1lcywgdHlwZXMsIGFuZCBpbi1kZXNjcmlwdG9yIE5PVCBOVUxM IGZsYWdzLCBidXQKQEAgLTEzMzYsNyArMTQzNiw3IEBAIERlZmluZVJlbGF0aW9uKENyZWF0ZVN0 bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lkIG93bmVySWQsCiAJCQkJCQkJCSAgdHJ1ZSwgdHJ1 ZSwgZmFsc2UsIHF1ZXJ5U3RyaW5nKTsKIAogCS8qCi0JICogRmluYWxseSwgbWVyZ2UgdGhlIG5v dC1udWxsIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGRlY2xhcmVkIGRpcmVjdGx5IHdpdGgKKwkgKiBO b3cgbWVyZ2UgdGhlIG5vdC1udWxsIGNvbnN0cmFpbnRzIHRoYXQgYXJlIGRlY2xhcmVkIGRpcmVj dGx5IHdpdGgKIAkgKiB0aG9zZSB0aGF0IGNvbWUgZnJvbSBwYXJlbnQgcmVsYXRpb25zIChtYWtp bmcgc3VyZSB0byBjb3VudCBpbmhlcml0YW5jZQogCSAqIGFwcHJvcHJpYXRlbHkgZm9yIGVhY2gp LCBjcmVhdGUgdGhlbSwgYW5kIHNldCB0aGUgYXR0bm90bnVsbCBmbGFnIG9uCiAJICogY29sdW1u cyB0aGF0IGRvbid0IHlldCBoYXZlIGl0LgpAQCAtMTM0Niw2ICsxNDQ2LDIxIEBAIERlZmluZVJl bGF0aW9uKENyZWF0ZVN0bXQgKnN0bXQsIGNoYXIgcmVsa2luZCwgT2lkIG93bmVySWQsCiAJZm9y ZWFjaF9pbnQoYXR0cm51bSwgbm5jb2xzKQogCQlzZXRfYXR0bm90bnVsbChOVUxMLCByZWwsIGF0 dHJudW0sIHRydWUsIGZhbHNlKTsKIAorCS8qCisJICogRmluYWxseSwgY3JlYXRlIHBlcmlvZHMg Zm9yIHRoZSB0YWJsZS4gVGhpcyBtdXN0IGNvbWUgYWZ0ZXIgd2UgY3JlYXRlCisJICogY29sdW1u cyBhbmQgYmVmb3JlIHdlIGNyZWF0ZSBpbmRleCBjb25zdHJhaW50cy4gSXQgd2lsbCBhdXRvbWF0 aWNhbGx5CisJICogY3JlYXRlIGEgQ0hFQ0sgY29uc3RyYWludCBmb3IgdGhlIHBlcmlvZC4KKwkg Ki8KKwlmb3JlYWNoKGxpc3RwdHIsIHN0bXQtPnBlcmlvZHMpCisJeworCQlQZXJpb2REZWYgICpw ZXJpb2QgPSAoUGVyaW9kRGVmICopIGxmaXJzdChsaXN0cHRyKTsKKworCQkvKiBEb24ndCB1cGRh dGUgdGhlIGNvdW50IG9mIGNoZWNrIGNvbnN0cmFpbnRzIHR3aWNlICovCisJCUNvbW1hbmRDb3Vu dGVySW5jcmVtZW50KCk7CisKKwkJQWRkUmVsYXRpb25OZXdQZXJpb2QocmVsLCBwZXJpb2QpOwor CX0KKwogCU9iamVjdEFkZHJlc3NTZXQoYWRkcmVzcywgUmVsYXRpb25SZWxhdGlvbklkLCByZWxh dGlvbklkKTsKIAogCS8qCkBAIC0xNDQ1LDYgKzE1NjAsMzI4IEBAIEJ1aWxkRGVzY0ZvclJlbGF0 aW9uKGNvbnN0IExpc3QgKmNvbHVtbnMpCiAJcmV0dXJuIGRlc2M7CiB9CiAKKy8qCisgKiBtYWtl X2NvbnN0cmFpbnRfZm9yX3BlcmlvZAorICoKKyAqIEJ1aWxkcyBhIENIRUNLIENvbnN0cmFpbnQg dG8gZW5zdXJlIHN0YXJ0IDwgZW5kLgorICogUmV0dXJucyB0aGUgQ0hFQ0sgQ29uc3RyYWludC4K KyAqIEFsc28gZmlsbHMgaW4gcGVyaW9kLT5jb25zdHJhaW50bmFtZSBpZiBuZWVkZWQuCisgKgor ICogSWYgZWl0aGVyIGJvdW5kIGlzIE5VTEwsIHRoZSBjb25zdHJhaW50IHBhc3NlcworICogKHNp bmNlIHRoYXQgaW5kaWNhdGVzIGFuIHVuYm91bmRlZCByYW5nZSkuCisgKi8KK3N0YXRpYyBDb25z dHJhaW50ICoKK21ha2VfY29uc3RyYWludF9mb3JfcGVyaW9kKFJlbGF0aW9uIHJlbCwgUGVyaW9k RGVmICpwZXJpb2QpCit7CisJQ29sdW1uUmVmICAqc2NvbCwKKwkJCSAgICplY29sOworCUNvbnN0 cmFpbnQgKmNvbnN0cjsKKwlUeXBlQ2FjaGVFbnRyeSAqdHlwZTsKKworCWlmIChwZXJpb2QtPmNv bnN0cmFpbnRuYW1lID09IE5VTEwpCisJCXBlcmlvZC0+Y29uc3RyYWludG5hbWUgPSBDaG9vc2VD b25zdHJhaW50TmFtZShSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpLAorCQkJCQkJCQkJCQkJ CSAgcGVyaW9kLT5wZXJpb2RuYW1lLAorCQkJCQkJCQkJCQkJCSAgImNoZWNrIiwKKwkJCQkJCQkJ CQkJCQkgIFJlbGF0aW9uR2V0TmFtZXNwYWNlKHJlbCksCisJCQkJCQkJCQkJCQkJICBOSUwpOwor CXNjb2wgPSBtYWtlTm9kZShDb2x1bW5SZWYpOworCXNjb2wtPmZpZWxkcyA9IGxpc3RfbWFrZTEo bWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+c3RhcnRjb2xuYW1lKSkpOworCXNjb2wtPmxvY2F0 aW9uID0gMDsKKworCWVjb2wgPSBtYWtlTm9kZShDb2x1bW5SZWYpOworCWVjb2wtPmZpZWxkcyA9 IGxpc3RfbWFrZTEobWFrZVN0cmluZyhwc3RyZHVwKHBlcmlvZC0+ZW5kY29sbmFtZSkpKTsKKwll Y29sLT5sb2NhdGlvbiA9IDA7CisKKwl0eXBlID0gbG9va3VwX3R5cGVfY2FjaGUocGVyaW9kLT5j b2x0eXBpZCwgVFlQRUNBQ0hFX0xUX09QUik7CisJaWYgKHR5cGUtPmx0X29wciA9PSBJbnZhbGlk T2lkKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfRkVBVFVSRV9OT1Rf U1VQUE9SVEVEKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIGNhbm5vdCBiZSB1c2VkIGlu IGEgUEVSSU9EIGJlY2F1c2UgaXRzIHR5cGUgJXMgaGFzIG5vIGxlc3MgdGhhbiBvcGVyYXRvciIs CisJCQkJCQlwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgZm9ybWF0X3R5cGVfYmUocGVyaW9kLT5jb2x0 eXBpZCkpKSk7CisKKwljb25zdHIgPSBtYWtlTm9kZShDb25zdHJhaW50KTsKKwljb25zdHItPmNv bnR5cGUgPSBDT05TVFJfQ0hFQ0s7CisJY29uc3RyLT5jb25uYW1lID0gcGVyaW9kLT5jb25zdHJh aW50bmFtZTsKKwljb25zdHItPmRlZmVycmFibGUgPSBmYWxzZTsKKwljb25zdHItPmluaXRkZWZl cnJlZCA9IGZhbHNlOworCWNvbnN0ci0+bG9jYXRpb24gPSAtMTsKKwljb25zdHItPmlzX25vX2lu aGVyaXQgPSBmYWxzZTsKKwljb25zdHItPnJhd19leHByID0gKE5vZGUgKikgbWFrZVNpbXBsZUFf RXhwcihBRVhQUl9PUCwKKwkJCQkJCQkJCQkJCSBnZXRfb3BuYW1lKHR5cGUtPmx0X29wciksCisJ CQkJCQkJCQkJCQkgKE5vZGUgKikgc2NvbCwKKwkJCQkJCQkJCQkJCSAoTm9kZSAqKSBlY29sLAor CQkJCQkJCQkJCQkJIDApOworCWNvbnN0ci0+Y29va2VkX2V4cHIgPSBOVUxMOworCWNvbnN0ci0+ c2tpcF92YWxpZGF0aW9uID0gZmFsc2U7CisJY29uc3RyLT5pc19lbmZvcmNlZCA9IHRydWU7CisJ Y29uc3RyLT5pbml0aWFsbHlfdmFsaWQgPSB0cnVlOworCisJcmV0dXJuIGNvbnN0cjsKK30KKwor LyoKKyAqIG1ha2VfcmFuZ2VfY29sdW1uX2Zvcl9wZXJpb2QKKyAqCisgKiBCdWlsZHMgYSBHRU5F UkFURUQgQUxXQVlTIHJhbmdlIGNvbHVtbiBiYXNlZCBvbiB0aGUgUEVSSU9ECisgKiBzdGFydC9l bmQgY29sdW1ucy4gUmV0dXJucyB0aGUgQ29sdW1uRGVmLgorICovCitDb2x1bW5EZWYgKgorbWFr ZV9yYW5nZV9jb2x1bW5fZm9yX3BlcmlvZChQZXJpb2REZWYgKnBlcmlvZCkKK3sKKwljaGFyCSAg ICpyYW5nZV90eXBlX25hbWVzcGFjZTsKKwljaGFyCSAgICpyYW5nZV90eXBlX25hbWU7CisJQ29s dW1uRGVmICAqY29sID0gbWFrZU5vZGUoQ29sdW1uRGVmKTsKKwlDb2x1bW5SZWYgICpzdGFydHZh ciwKKwkJCSAgICplbmR2YXI7CisJRXhwcgkgICAqcmFuZ2VDb25zdHJ1Y3RvcjsKKworCWlmICgh Z2V0X3R5cG5hbWVfYW5kX25hbWVzcGFjZShwZXJpb2QtPnJuZ3R5cGlkLCAmcmFuZ2VfdHlwZV9u YW1lLCAmcmFuZ2VfdHlwZV9uYW1lc3BhY2UpKQorCQllbG9nKEVSUk9SLCAibWlzc2luZyByYW5n ZSB0eXBlICVkIiwgcGVyaW9kLT5ybmd0eXBpZCk7CisKKwlzdGFydHZhciA9IG1ha2VOb2RlKENv bHVtblJlZik7CisJc3RhcnR2YXItPmZpZWxkcyA9IGxpc3RfbWFrZTEobWFrZVN0cmluZyhwc3Ry ZHVwKHBlcmlvZC0+c3RhcnRjb2xuYW1lKSkpOworCWVuZHZhciA9IG1ha2VOb2RlKENvbHVtblJl Zik7CisJZW5kdmFyLT5maWVsZHMgPSBsaXN0X21ha2UxKG1ha2VTdHJpbmcocHN0cmR1cChwZXJp b2QtPmVuZGNvbG5hbWUpKSk7CisJcmFuZ2VDb25zdHJ1Y3RvciA9IChFeHByICopIG1ha2VGdW5j Q2FsbCgKKwkJCQkJCQkJCQkJIGxpc3RfbWFrZTIobWFrZVN0cmluZyhyYW5nZV90eXBlX25hbWVz cGFjZSksIG1ha2VTdHJpbmcocmFuZ2VfdHlwZV9uYW1lKSksCisJCQkJCQkJCQkJCSBsaXN0X21h a2UyKHN0YXJ0dmFyLCBlbmR2YXIpLAorCQkJCQkJCQkJCQkgQ09FUkNFX0VYUExJQ0lUX0NBTEws CisJCQkJCQkJCQkJCSBwZXJpb2QtPmxvY2F0aW9uKTsKKworCWNvbC0+Y29sbmFtZSA9IHBzdHJk dXAocGVyaW9kLT5wZXJpb2RuYW1lKTsKKwljb2wtPnR5cGVOYW1lID0gbWFrZVR5cGVOYW1lKHJh bmdlX3R5cGVfbmFtZSk7CisJY29sLT5jb21wcmVzc2lvbiA9IE5VTEw7CisJY29sLT5pbmhjb3Vu dCA9IDA7CisJY29sLT5pc19sb2NhbCA9IHRydWU7CisJY29sLT5pc19ub3RfbnVsbCA9IHRydWU7 CisJY29sLT5pc19mcm9tX3R5cGUgPSBmYWxzZTsKKwljb2wtPnN0b3JhZ2UgPSAwOworCWNvbC0+ c3RvcmFnZV9uYW1lID0gTlVMTDsKKwljb2wtPnJhd19kZWZhdWx0ID0gKE5vZGUgKikgcmFuZ2VD b25zdHJ1Y3RvcjsKKwljb2wtPmNvb2tlZF9kZWZhdWx0ID0gTlVMTDsKKwljb2wtPmlkZW50aXR5 ID0gMDsKKwljb2wtPmdlbmVyYXRlZCA9IEFUVFJJQlVURV9HRU5FUkFURURfU1RPUkVEOworCWNv bC0+Y29sbENsYXVzZSA9IE5VTEw7CisJY29sLT5jb2xsT2lkID0gSW52YWxpZE9pZDsKKwljb2wt PmZkd29wdGlvbnMgPSBOSUw7CisJY29sLT5sb2NhdGlvbiA9IHBlcmlvZC0+bG9jYXRpb247CisK KwlyZXR1cm4gY29sOworfQorCisvKgorICogVmFsaWRhdGVQZXJpb2QKKyAqCisgKiBMb29rIHVw IHRoZSBhdHRyaWJ1dGVzIHVzZWQgYnkgdGhlIFBFUklPRCwKKyAqIG1ha2Ugc3VyZSB0aGV5IGV4 aXN0LCBhcmUgbm90IHN5c3RlbSBjb2x1bW5zLAorICogYW5kIGhhdmUgdGhlIHNhbWUgdHlwZSBh bmQgY29sbGF0aW9uLgorICoKKyAqIEFkZCBvdXIgZmluZGluZ3MgdG8gdGhlc2UgUGVyaW9kRGVm IGZpZWxkczoKKyAqCisgKiBjb2x0eXBpZCAtIHRoZSB0eXBlIG9mIFBFUklPRCBjb2x1bW5zLgor ICogc3RhcnRhdHRudW0gLSB0aGUgYXR0bnVtIG9mIHRoZSBzdGFydCBjb2x1bW4uCisgKiBlbmRh dHRudW0gLSB0aGUgYXR0bnVtIG9mIHRoZSBlbmQgY29sdW1uLgorICogcm5ndHlwaWQgLSB0aGUg cmFuZ2UgdHlwZSB0byB1c2UuCisgKiBybmdhdHRudW0gLSB0aGUgYXR0bnVtIG9mIGEgcHJlLWV4 aXN0aW5nIHJhbmdlIGNvbHVtbiwgb3IgSW52YWxpZC4KKyAqLworc3RhdGljIHZvaWQKK1ZhbGlk YXRlUGVyaW9kKFJlbGF0aW9uIHJlbCwgUGVyaW9kRGVmICpwZXJpb2QpCit7CisJSGVhcFR1cGxl CXN0YXJ0dHVwbGU7CisJSGVhcFR1cGxlCWVuZHR1cGxlOworCUZvcm1fcGdfYXR0cmlidXRlIGF0 dHR1cGxlOworCU9pZAkJCWF0dGNvbGxhdGlvbjsKKwlPaWQJCQllbmR0eXBpZDsKKwlPaWQJCQll bmRjb2xsYXRpb247CisKKwkvKiBGaW5kIHRoZSBzdGFydCBjb2x1bW4gKi8KKwlzdGFydHR1cGxl ID0gU2VhcmNoU3lzQ2FjaGVBdHROYW1lKFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgcGVyaW9kLT5z dGFydGNvbG5hbWUpOworCWlmICghSGVhcFR1cGxlSXNWYWxpZChzdGFydHR1cGxlKSkKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9DT0xVTU4pLAorCQkJ CSBlcnJtc2coImNvbHVtbiBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wiIGRvZXMgbm90IGV4aXN0 IiwKKwkJCQkJCXBlcmlvZC0+c3RhcnRjb2xuYW1lLCBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShy ZWwpKSkpOworCWF0dHR1cGxlID0gKEZvcm1fcGdfYXR0cmlidXRlKSBHRVRTVFJVQ1Qoc3RhcnR0 dXBsZSk7CisJcGVyaW9kLT5jb2x0eXBpZCA9IGF0dHR1cGxlLT5hdHR0eXBpZDsKKwlhdHRjb2xs YXRpb24gPSBhdHR0dXBsZS0+YXR0Y29sbGF0aW9uOworCXBlcmlvZC0+c3RhcnRhdHRudW0gPSBh dHR0dXBsZS0+YXR0bnVtOworCVJlbGVhc2VTeXNDYWNoZShzdGFydHR1cGxlKTsKKworCS8qIE1h a2Ugc3VyZSBpdCdzIG5vdCBhIHN5c3RlbSBjb2x1bW4gKi8KKwlpZiAocGVyaW9kLT5zdGFydGF0 dG51bSA8PSAwKQorCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfSU5WQUxJ RF9PQkpFQ1RfREVGSU5JVElPTiksCisJCQkJIGVycm1zZygiY2Fubm90IHVzZSBzeXN0ZW0gY29s dW1uIFwiJXNcIiBpbiBwZXJpb2QiLAorCQkJCQkJcGVyaW9kLT5zdGFydGNvbG5hbWUpKSk7CisK KwkvKiBGaW5kIHRoZSBlbmQgY29sdW1uICovCisJZW5kdHVwbGUgPSBTZWFyY2hTeXNDYWNoZUF0 dE5hbWUoUmVsYXRpb25HZXRSZWxpZChyZWwpLCBwZXJpb2QtPmVuZGNvbG5hbWUpOworCWlmICgh SGVhcFR1cGxlSXNWYWxpZChlbmR0dXBsZSkpCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNv ZGUoRVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wi IG9mIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQlwZXJpb2QtPmVuZGNv bG5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpKSk7CisJYXR0dHVwbGUgPSAoRm9y bV9wZ19hdHRyaWJ1dGUpIEdFVFNUUlVDVChlbmR0dXBsZSk7CisJZW5kdHlwaWQgPSBhdHR0dXBs ZS0+YXR0dHlwaWQ7CisJZW5kY29sbGF0aW9uID0gYXR0dHVwbGUtPmF0dGNvbGxhdGlvbjsKKwlw ZXJpb2QtPmVuZGF0dG51bSA9IGF0dHR1cGxlLT5hdHRudW07CisJUmVsZWFzZVN5c0NhY2hlKGVu ZHR1cGxlKTsKKworCS8qIE1ha2Ugc3VyZSBpdCdzIG5vdCBhIHN5c3RlbSBjb2x1bW4gKi8KKwlp ZiAocGVyaW9kLT5lbmRhdHRudW0gPD0gMCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29k ZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJT04pLAorCQkJCSBlcnJtc2coImNhbm5v dCB1c2Ugc3lzdGVtIGNvbHVtbiBcIiVzXCIgaW4gcGVyaW9kIiwKKwkJCQkJCXBlcmlvZC0+ZW5k Y29sbmFtZSkpKTsKKworCS8qIEJvdGggY29sdW1ucyBtdXN0IGJlIG9mIHNhbWUgdHlwZSAqLwor CWlmIChwZXJpb2QtPmNvbHR5cGlkICE9IGVuZHR5cGlkKQorCQllcmVwb3J0KEVSUk9SLAorCQkJ CShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFUQ0gpLAorCQkJCSBlcnJtc2coInN0YXJ0 IGFuZCBlbmQgY29sdW1ucyBvZiBwZXJpb2QgbXVzdCBiZSBvZiBzYW1lIHR5cGUiKSkpOworCisJ LyogQm90aCBjb2x1bW5zIG11c3QgaGF2ZSB0aGUgc2FtZSBjb2xsYXRpb24gKi8KKwlpZiAoYXR0 Y29sbGF0aW9uICE9IGVuZGNvbGxhdGlvbikKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29k ZShFUlJDT0RFX0NPTExBVElPTl9NSVNNQVRDSCksCisJCQkJIGVycm1zZygic3RhcnQgYW5kIGVu ZCBjb2x1bW5zIG9mIHBlcmlvZCBtdXN0IGhhdmUgc2FtZSBjb2xsYXRpb24iKSkpOworCisJLyog R2V0IHRoZSByYW5nZSB0eXBlIGJhc2VkIG9uIHRoZSBzdGFydC9lbmQgY29scyBvciB0aGUgdXNl cidzIGNob2ljZSAqLworCXBlcmlvZC0+cm5ndHlwaWQgPSBjaG9vc2VfcmFuZ2V0eXBlX2Zvcl9w ZXJpb2QocGVyaW9kKTsKKworCS8qCisJICogSWYgdGhlIEdFTkVSQVRFRCBjb2x1bW5zIHNob3Vs ZCBhbHJlYWR5IGV4aXN0LCBtYWtlIHN1cmUgaXQgaXMKKwkgKiBzZW5zaWJsZS4KKwkgKi8KKwlp ZiAocGVyaW9kLT5jb2xleGlzdHMpCisJeworCQlIZWFwVHVwbGUJcm5ndHVwbGUgPSBTZWFyY2hT eXNDYWNoZUF0dE5hbWUoUmVsYXRpb25HZXRSZWxpZChyZWwpLCBwZXJpb2QtPnBlcmlvZG5hbWUp OworCisJCWlmICghSGVhcFR1cGxlSXNWYWxpZChybmd0dXBsZSkpCisJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9DT0xVTU4pLAorCQkJCQkgZXJybXNn KCJjb2x1bW4gXCIlc1wiIG9mIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJ CQkJcGVyaW9kLT5wZXJpb2RuYW1lLCBSZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOwor CQlhdHR0dXBsZSA9IChGb3JtX3BnX2F0dHJpYnV0ZSkgR0VUU1RSVUNUKHJuZ3R1cGxlKTsKKwor CQkvKgorCQkgKiBMb3RzIHRvIGNoZWNrIGhlcmU6IEl0IG11c3QgYmUgR0VORVJBVEVEIEFMV0FZ UywgaXQgbXVzdCBoYXZlIHRoZQorCQkgKiByaWdodCBleHByZXNzaW9uLCBpdCBtdXN0IGJlIHRo ZSByaWdodCB0eXBlLCBpdCBtdXN0IGJlIE5PVCBOVUxMLAorCQkgKiBpdCBtdXN0IG5vdCBiZSBp bmhlcml0ZWQuCisJCSAqLworCQlpZiAoYXR0dHVwbGUtPmF0dGdlbmVyYXRlZCA9PSAnXDAnKQor CQkJZXJlcG9ydChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBub24tZ2VuZXJhdGVk IGNvbHVtbiIsCisJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJCWlmIChhdHR0dXBs ZS0+YXR0Z2VuZXJhdGVkICE9IEFUVFJJQlVURV9HRU5FUkFURURfU1RPUkVEKQorCQkJZXJlcG9y dChFUlJPUiwgKGVycm1zZygiUGVyaW9kICVzIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQg aXMgbm90IFNUT1JFRCIsCisJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCisJCS8qCisJ CSAqIFhYWDogV2Ugc2hvdWxkIGNoZWNrIHRoZSBHRU5FUkFURUQgZXhwcmVzc2lvbiBhbHNvLCBi dXQgdGhhdCBpcworCQkgKiBoYXJkIHRvIGRvIGZvciBub24tcmFuZ2UvbXVsdGlyYW5nZSBQRVJJ T0RzLgorCQkgKi8KKworCQlpZiAoIWF0dHR1cGxlLT5hdHRub3RudWxsICYmICFJc0JpbmFyeVVw Z3JhZGUpCisJCQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIGdlbmVy YXRlZCBjb2x1bW4gdGhhdCBhbGxvd3MgbnVsbHMiLAorCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFt ZSkpKTsKKworCQlpZiAocGVyaW9kLT5ybmd0eXBpZCAhPSBhdHR0dXBsZS0+YXR0dHlwaWQpCisJ CQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJQZXJpb2QgJXMgdXNlcyBhIGdlbmVyYXRlZCBjb2x1 bW4gd2l0aCB0aGUgd3JvbmcgdHlwZSIsCisJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOwor CisJCWlmICghYXR0dHVwbGUtPmF0dGlzbG9jYWwpCisJCQllcmVwb3J0KEVSUk9SLCAoZXJybXNn KCJQZXJpb2QgJXMgdXNlcyBhIGdlbmVyYXRlZCBjb2x1bW4gdGhhdCBpcyBpbmhlcml0ZWQiLAor CQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCQlwZXJpb2QtPnJuZ2F0dG51bSA9IGF0 dHR1cGxlLT5hdHRudW07CisKKwkJUmVsZWFzZVN5c0NhY2hlKHJuZ3R1cGxlKTsKKwl9Cit9CisK Ky8qCisgKiBjaG9vc2VfcmFuZ2V0eXBlX2Zvcl9wZXJpb2QKKyAqCisgKiBGaW5kIGEgc3VpdGFi bGUgcmFuZ2UgdHlwZSBmb3Igb3BlcmF0aW9ucyBpbnZvbHZpbmcgdGhpcyBwZXJpb2QuCisgKiBV c2UgdGhlIHJhbmdldHlwZSBvcHRpb24gaWYgcHJvdmlkZWQsIG90aGVyd2lzZSB0cnkgdG8gZmlu ZCBhCisgKiBub24tYW1iaWd1b3VzIGV4aXN0aW5nIHR5cGUuCisgKi8KK09pZAorY2hvb3NlX3Jh bmdldHlwZV9mb3JfcGVyaW9kKFBlcmlvZERlZiAqcGVyaW9kKQoreworCU9pZAkJCXJuZ3R5cGlk OworCisJaWYgKHBlcmlvZC0+cmFuZ2V0eXBlbmFtZSAhPSBOVUxMKQorCXsKKwkJLyogTWFrZSBz dXJlIGl0IGV4aXN0cyAqLworCQlybmd0eXBpZCA9IFR5cGVuYW1lR2V0VHlwaWRFeHRlbmRlZChw ZXJpb2QtPnJhbmdldHlwZW5hbWUsIGZhbHNlKTsKKwkJaWYgKHJuZ3R5cGlkID09IEludmFsaWRP aWQpCisJCQllcmVwb3J0KEVSUk9SLCAoZXJyY29kZShFUlJDT0RFX1VOREVGSU5FRF9PQkpFQ1Qp LAorCQkJCQkJCWVycm1zZygiUmFuZ2UgdHlwZSAlcyBub3QgZm91bmQiLAorCQkJCQkJCQkgICBw ZXJpb2QtPnJhbmdldHlwZW5hbWUpKSk7CisKKwkJLyogTWFrZSBzdXJlIGl0IGlzIGEgcmFuZ2Ug dHlwZSAqLworCQlpZiAoIXR5cGVfaXNfcmFuZ2Uocm5ndHlwaWQpKQorCQkJZXJlcG9ydChFUlJP UiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksCisJCQkJCSBlcnJt c2coIlR5cGUgJXMgaXMgbm90IGEgcmFuZ2UgdHlwZSIsCisJCQkJCQkJcGVyaW9kLT5yYW5nZXR5 cGVuYW1lKSkpOworCisJCS8qIE1ha2Ugc3VyZSBpdCBtYXRjaGVzIHRoZSBjb2x1bW4gdHlwZSAq LworCQlpZiAoZ2V0X3JhbmdlX3N1YnR5cGUocm5ndHlwaWQpICE9IHBlcmlvZC0+Y29sdHlwaWQp CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0RBVEFUWVBFX01JU01B VENIKSwKKwkJCQkJIGVycm1zZygiUmFuZ2UgdHlwZSAlcyBkb2VzIG5vdCBtYXRjaCBjb2x1bW4g dHlwZSAlcyIsCisJCQkJCQkJcGVyaW9kLT5yYW5nZXR5cGVuYW1lLAorCQkJCQkJCWZvcm1hdF90 eXBlX2JlKHBlcmlvZC0+Y29sdHlwaWQpKSkpOworCX0KKwllbHNlCisJeworCQlybmd0eXBpZCA9 IGdldF9zdWJ0eXBlX3JhbmdlKHBlcmlvZC0+Y29sdHlwaWQpOworCQlpZiAocm5ndHlwaWQgPT0g SW52YWxpZE9pZCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfVU5E RUZJTkVEX09CSkVDVCksCisJCQkJCSBlcnJtc2coIm5vIHJhbmdlIHR5cGUgZm9yICVzIGZvdW5k IGZvciBwZXJpb2QgJXMiLAorCQkJCQkJCWZvcm1hdF90eXBlX2JlKHBlcmlvZC0+Y29sdHlwaWQp LAorCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSksCisJCQkJCSBlcnJoaW50KCJZb3UgY2FuIGRl ZmluZSBhIGN1c3RvbSByYW5nZSB0eXBlIHdpdGggQ1JFQVRFIFRZUEUiKSkpOworCisJfQorCisJ cmV0dXJuIHJuZ3R5cGlkOworfQorCitzdGF0aWMgdm9pZAorQWRkUmVsYXRpb25OZXdQZXJpb2Qo UmVsYXRpb24gcmVsLCBQZXJpb2REZWYgKnBlcmlvZCkKK3sKKwlSZWxhdGlvbglhdHRyZWxhdGlv bjsKKwlPaWQJCQljb25vaWQ7CisJQ29uc3RyYWludCAqY29uc3RyOworCUxpc3QJICAgKm5ld2Nv bnN0cnM7CisKKwlhdHRyZWxhdGlvbiA9IHRhYmxlX29wZW4oQXR0cmlidXRlUmVsYXRpb25JZCwg Um93RXhjbHVzaXZlTG9jayk7CisKKwkvKiBGaW5kIHRoZSBHRU5FUkFURUQgcmFuZ2UgY29sdW1u ICovCisKKwlwZXJpb2QtPnJuZ2F0dG51bSA9IGdldF9hdHRudW0oUmVsYXRpb25HZXRSZWxpZChy ZWwpLCBwZXJpb2QtPnBlcmlvZG5hbWUpOworCWlmIChwZXJpb2QtPnJuZ2F0dG51bSA9PSBJbnZh bGlkQXR0ck51bWJlcikKKwkJZWxvZyhFUlJPUiwgIm1pc3NpbmcgYXR0cmlidXRlICVzIiwgcGVy aW9kLT5wZXJpb2RuYW1lKTsKKworCS8qIFRoZSBwYXJzZXIgaGFzIGFscmVhZHkgZm91bmQgcGVy aW9kLT5jb2x0eXBpZCAqLworCisJY29uc3RyID0gbWFrZV9jb25zdHJhaW50X2Zvcl9wZXJpb2Qo cmVsLCBwZXJpb2QpOworCW5ld2NvbnN0cnMgPSBBZGRSZWxhdGlvbk5ld0NvbnN0cmFpbnRzKHJl bCwgTklMLCBsaXN0X21ha2UxKGNvbnN0ciksIGZhbHNlLAorCQkJCQkJCQkJCSAgIHRydWUsIHRy dWUsIE5VTEwpOworCWNvbm9pZCA9ICgoQ29va2VkQ29uc3RyYWludCAqKSBsaW5pdGlhbChuZXdj b25zdHJzKSktPmNvbm9pZDsKKworCS8qIFNhdmUgaXQgKi8KKwlTdG9yZVBlcmlvZChyZWwsIHBl cmlvZC0+cGVyaW9kbmFtZSwgcGVyaW9kLT5zdGFydGF0dG51bSwgcGVyaW9kLT5lbmRhdHRudW0s CisJCQkJcGVyaW9kLT5ybmdhdHRudW0sIGNvbm9pZCk7CisKKwl0YWJsZV9jbG9zZShhdHRyZWxh dGlvbiwgUm93RXhjbHVzaXZlTG9jayk7Cit9CisKIC8qCiAgKiBFbWl0IHRoZSByaWdodCBlcnJv ciBvciB3YXJuaW5nIG1lc3NhZ2UgZm9yIGEgIkRST1AiIGNvbW1hbmQgaXNzdWVkIG9uIGEKICAq IG5vbi1leGlzdGVudCByZWxhdGlvbgpAQCAtMjc0Nyw3ICszMTg0LDcgQEAgTWVyZ2VBdHRyaWJ1 dGVzKExpc3QgKmNvbHVtbnMsIGNvbnN0IExpc3QgKnN1cGVycywgY2hhciByZWxwZXJzaXN0ZW5j ZSwKIAkJICogdGhhdCdzIG5vdCBtYXJrZWQgTk8gSU5IRVJJVCAoZXZlbiBpZiBub3QgdmFsaWQp LgogCQkgKi8KIAkJbm5jb25zdHJzID0gUmVsYXRpb25HZXROb3ROdWxsQ29uc3RyYWludHMoUmVs YXRpb25HZXRSZWxpZChyZWxhdGlvbiksCi0JCQkJCQkJCQkJCQkgIHRydWUsIGZhbHNlKTsKKwkJ CQkJCQkJCQkJCSAgdHJ1ZSwgZmFsc2UsIE5VTEwpOwogCQlmb3JlYWNoX3B0cihDb29rZWRDb25z dHJhaW50LCBjYywgbm5jb25zdHJzKQogCQkJbm5jb2xzID0gYm1zX2FkZF9tZW1iZXIobm5jb2xz LCBjYy0+YXR0bnVtKTsKIApAQCAtMzE0MCw2ICszNTc3LDE3MiBAQCBNZXJnZUF0dHJpYnV0ZXMo TGlzdCAqY29sdW1ucywgY29uc3QgTGlzdCAqc3VwZXJzLCBjaGFyIHJlbHBlcnNpc3RlbmNlLAog fQogCiAKKy8qLS0tLS0tLS0tLQorICogTWVyZ2VQZXJpb2RzCisgKgkJUmV0dXJucyBuZXcgcGVy aW9kIGxpc3QgZ2l2ZW4gaW5pdGlhbCBwZXJpb2RzIGFuZCBzdXBlcmNsYXNzZXMuCisgKgorICog Rm9yIG5vdyB3ZSBkb24ndCBzdXBwb3J0IGluaGVyaXRlbmNlIHdpdGggUEVSSU9EcywKKyAqIGJ1 dCB3ZSBtaWdodCBtYWtlIGl0IHdvcmsgZXZlbnR1YWxseS4KKyAqCisgKiBXZSBjYW4gb21pdCBs b3RzIG9mIGNoZWNrcyBoZXJlIGFuZCBhc3N1bWUgTWVyZ2VBdHRyaWJ1dGVzIGFscmVhZHkgZGlk IHRoZW0sCisgKiBmb3IgZXhhbXBsZSB0aGF0IGNoaWxkICYgcGFyZW50cyBhcmUgbm90IGEgbWl4 IG9mIHBlcm1hbmVudCBhbmQgdGVtcC4KKyAqLworc3RhdGljIExpc3QgKgorTWVyZ2VQZXJpb2Rz KGNoYXIgKnJlbG5hbWUsIExpc3QgKnBlcmlvZHMsIExpc3QgKnRhYmxlRWx0cywgTGlzdCAqc3Vw ZXJzKQoreworCUxpc3RDZWxsICAgKmVudHJ5OworCisJLyogSWYgd2UgaGF2ZSBhIFBFUklPRCB0 aGVuIHN1cGVycyBtdXN0IGJlIGVtcHR5LiAqLworCisJaWYgKGxpc3RfbGVuZ3RoKHBlcmlvZHMp ID4gMCAmJiBsaXN0X2xlbmd0aChzdXBlcnMpID4gMCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQko ZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJIGVycm1zZygiSW5o ZXJpdGluZyBpcyBub3Qgc3VwcG9ydGVkIHdoZW4gYSB0YWJsZSBoYXMgYSBQRVJJT0QiKSkpOwor CisJLyogSWYgYW55IHBhcmVudCB0YWJsZSBoYXMgYSBQRVJJT0QsIHRoZW4gZmFpbC4gKi8KKwor CWZvcmVhY2goZW50cnksIHN1cGVycykKKwl7CisJCU9pZAkJCXBhcmVudCA9IGxmaXJzdF9vaWQo ZW50cnkpOworCQlSZWxhdGlvbglyZWxhdGlvbjsKKwkJUmVsYXRpb24JcGdfcGVyaW9kOworCQlT eXNTY2FuRGVzYyBzY2FuOworCQlTY2FuS2V5RGF0YSBza2V5WzFdOworCQlIZWFwVHVwbGUJdHVw bGU7CisKKwkJLyogY2FsbGVyIGFscmVhZHkgZ290IGxvY2sgKi8KKwkJcmVsYXRpb24gPSB0YWJs ZV9vcGVuKHBhcmVudCwgTm9Mb2NrKTsKKwkJcGdfcGVyaW9kID0gdGFibGVfb3BlbihQZXJpb2RS ZWxhdGlvbklkLCBBY2Nlc3NTaGFyZUxvY2spOworCisJCVNjYW5LZXlJbml0KCZza2V5WzBdLAor CQkJCQlBbnVtX3BnX3BlcmlvZF9wZXJyZWxpZCwKKwkJCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVy LCBGX09JREVRLAorCQkJCQlPYmplY3RJZEdldERhdHVtKHBhcmVudCkpOworCisJCXNjYW4gPSBz eXN0YWJsZV9iZWdpbnNjYW4ocGdfcGVyaW9kLCBQZXJpb2RSZWxpZE5hbWVJbmRleElkLCB0cnVl LAorCQkJCQkJCQkgIE5VTEwsIDEsIHNrZXkpOworCisJCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHR1 cGxlID0gc3lzdGFibGVfZ2V0bmV4dChzY2FuKSkpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQko ZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBPUlRFRCksCisJCQkJCSBlcnJtc2coIklu aGVyaXRpbmcgZnJvbSBhIHRhYmxlIHdpdGggYSBQRVJJT0QgaXMgbm90IHN1cHBvcnRlZCIpKSk7 CisKKwkJc3lzdGFibGVfZW5kc2NhbihzY2FuKTsKKwkJdGFibGVfY2xvc2UocGdfcGVyaW9kLCBB Y2Nlc3NTaGFyZUxvY2spOworCQl0YWJsZV9jbG9zZShyZWxhdGlvbiwgTm9Mb2NrKTsKKwl9CisK KwkvKgorCSAqIEZpbmQgdGhlIHN0YXJ0ICYgZW5kIGNvbHVtbnMgYW5kIGdldCB0aGVpciBhdHRu byBhbmQgdHlwZS4gSW4gdGhlIHNhbWUKKwkgKiBwYXNzLCBtYWtlIHN1cmUgdGhlIHBlcmlvZCBk b2Vzbid0IGNvbmZsaWN0IHdpdGggYW55IGNvbHVtbiBuYW1lcy4gQWxzbworCSAqIG1ha2Ugc3Vy ZSB0aGUgc2FtZSBwZXJpb2QgbmFtZSBpc24ndCB1c2VkIG1vcmUgdGhhbiBvbmNlLgorCSAqLwor CWZvcmVhY2goZW50cnksIHBlcmlvZHMpCisJeworCQlQZXJpb2REZWYgICpwZXJpb2QgPSBsZmly c3QoZW50cnkpOworCQlMaXN0Q2VsbCAgICplbnRyeTI7CisJCWludAkJCWkgPSAxOworCQlPaWQJ CQlzdGFydGNvbHR5cGlkID0gSW52YWxpZE9pZDsKKwkJT2lkCQkJZW5kY29sdHlwaWQgPSBJbnZh bGlkT2lkOworCQlPaWQJCQlzdGFydGNvbGNvbGxhdGlvbiA9IEludmFsaWRPaWQ7CisJCU9pZAkJ CWVuZGNvbGNvbGxhdGlvbiA9IEludmFsaWRPaWQ7CisKKwkJcGVyaW9kLT5zdGFydGF0dG51bSA9 IEludmFsaWRBdHRyTnVtYmVyOworCQlwZXJpb2QtPmVuZGF0dG51bSA9IEludmFsaWRBdHRyTnVt YmVyOworCisJCWlmIChTeXN0ZW1BdHRyaWJ1dGVCeU5hbWUocGVyaW9kLT5wZXJpb2RuYW1lKSAh PSBOVUxMKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9EVVBMSUNB VEVfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygicGVyaW9kIG5hbWUgXCIlc1wiIGNvbmZsaWN0cyB3 aXRoIGEgc3lzdGVtIGNvbHVtbiBuYW1lIiwKKwkJCQkJCQlwZXJpb2QtPnBlcmlvZG5hbWUpKSk7 CisKKwkJZm9yZWFjaChlbnRyeTIsIHBlcmlvZHMpCisJCXsKKwkJCVBlcmlvZERlZiAgKnBlcmlv ZDIgPSBsZmlyc3QoZW50cnkyKTsKKworCQkJaWYgKHBlcmlvZCAhPSBwZXJpb2QyICYmIHN0cmNt cChwZXJpb2QtPnBlcmlvZG5hbWUsIHBlcmlvZDItPnBlcmlvZG5hbWUpID09IDApCisJCQkJZXJl cG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX09CSkVDVCksCisJ CQkJCQkgZXJybXNnKCJwZXJpb2QgbmFtZSBcIiVzXCIgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNl IiwKKwkJCQkJCQkJcGVyaW9kLT5wZXJpb2RuYW1lKSkpOworCQl9CisKKwkJZm9yZWFjaChlbnRy eTIsIHRhYmxlRWx0cykKKwkJeworCQkJQ29sdW1uRGVmICAqY29sID0gbGZpcnN0KGVudHJ5Mik7 CisJCQlpbnQzMgkJYXR0dHlwbW9kOworCQkJQWNsUmVzdWx0CWFjbHJlc3VsdDsKKworCQkJaWYg KCFwZXJpb2QtPmNvbGV4aXN0cyAmJiBzdHJjbXAocGVyaW9kLT5wZXJpb2RuYW1lLCBjb2wtPmNv bG5hbWUpID09IDApCisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVf RFVQTElDQVRFX0NPTFVNTiksCisJCQkJCQkgZXJybXNnKCJwZXJpb2QgbmFtZSBcIiVzXCIgY29u ZmxpY3RzIHdpdGggYSBjb2x1bW4gbmFtZSIsCisJCQkJCQkJCXBlcmlvZC0+cGVyaW9kbmFtZSkp KTsKKworCQkJaWYgKHN0cmNtcChwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgY29sLT5jb2xuYW1lKSA9 PSAwKQorCQkJeworCQkJCXBlcmlvZC0+c3RhcnRhdHRudW0gPSBpOworCisJCQkJdHlwZW5hbWVU eXBlSWRBbmRNb2QoTlVMTCwgY29sLT50eXBlTmFtZSwgJnN0YXJ0Y29sdHlwaWQsCisJCQkJCQkJ CQkgJmF0dHR5cG1vZCk7CisKKwkJCQlhY2xyZXN1bHQgPSBvYmplY3RfYWNsY2hlY2soVHlwZVJl bGF0aW9uSWQsIHN0YXJ0Y29sdHlwaWQsCisJCQkJCQkJCQkJCUdldFVzZXJJZCgpLCBBQ0xfVVNB R0UpOworCQkJCWlmIChhY2xyZXN1bHQgIT0gQUNMQ0hFQ0tfT0spCisJCQkJCWFjbGNoZWNrX2Vy cm9yX3R5cGUoYWNscmVzdWx0LCBzdGFydGNvbHR5cGlkKTsKKworCQkJCXN0YXJ0Y29sY29sbGF0 aW9uID0gR2V0Q29sdW1uRGVmQ29sbGF0aW9uKE5VTEwsIGNvbCwgc3RhcnRjb2x0eXBpZCk7CisJ CQl9CisKKwkJCWlmIChzdHJjbXAocGVyaW9kLT5lbmRjb2xuYW1lLCBjb2wtPmNvbG5hbWUpID09 IDApCisJCQl7CisJCQkJcGVyaW9kLT5lbmRhdHRudW0gPSBpOworCisJCQkJdHlwZW5hbWVUeXBl SWRBbmRNb2QoTlVMTCwgY29sLT50eXBlTmFtZSwgJmVuZGNvbHR5cGlkLAorCQkJCQkJCQkJICZh dHR0eXBtb2QpOworCisJCQkJYWNscmVzdWx0ID0gb2JqZWN0X2FjbGNoZWNrKFR5cGVSZWxhdGlv bklkLCBlbmRjb2x0eXBpZCwKKwkJCQkJCQkJCQkJR2V0VXNlcklkKCksIEFDTF9VU0FHRSk7CisJ CQkJaWYgKGFjbHJlc3VsdCAhPSBBQ0xDSEVDS19PSykKKwkJCQkJYWNsY2hlY2tfZXJyb3JfdHlw ZShhY2xyZXN1bHQsIGVuZGNvbHR5cGlkKTsKKworCQkJCWVuZGNvbGNvbGxhdGlvbiA9IEdldENv bHVtbkRlZkNvbGxhdGlvbihOVUxMLCBjb2wsIGVuZGNvbHR5cGlkKTsKKwkJCX0KKworCQkJaSsr OworCQl9CisKKwkJLyogRGlkIHdlIGZpbmQgdGhlIGNvbHVtbnM/ICovCisJCWlmIChwZXJpb2Qt PnN0YXJ0YXR0bnVtID09IEludmFsaWRBdHRyTnVtYmVyKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJ CQkJKGVycmNvZGUoRVJSQ09ERV9VTkRFRklORURfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygiY29s dW1uIFwiJXNcIiBvZiByZWxhdGlvbiBcIiVzXCIgZG9lcyBub3QgZXhpc3QiLAorCQkJCQkJCXBl cmlvZC0+c3RhcnRjb2xuYW1lLCByZWxuYW1lKSkpOworCQlpZiAocGVyaW9kLT5lbmRhdHRudW0g PT0gSW52YWxpZEF0dHJOdW1iZXIpCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShF UlJDT0RFX1VOREVGSU5FRF9DT0xVTU4pLAorCQkJCQkgZXJybXNnKCJjb2x1bW4gXCIlc1wiIG9m IHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkJcGVyaW9kLT5lbmRjb2xu YW1lLCByZWxuYW1lKSkpOworCisJCS8qIEJvdGggY29sdW1ucyBtdXN0IGJlIG9mIHNhbWUgdHlw ZSAqLworCQlpZiAoc3RhcnRjb2x0eXBpZCAhPSBlbmRjb2x0eXBpZCkKKwkJCWVyZXBvcnQoRVJS T1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFUQ0gpLAorCQkJCQkgZXJy bXNnKCJzdGFydCBhbmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9kIG11c3QgYmUgb2Ygc2FtZSB0eXBl IikpKTsKKworCQkvKiBCb3RoIGNvbHVtbnMgbXVzdCBoYXZlIHRoZSBzYW1lIGNvbGxhdGlvbiAq LworCQlpZiAoc3RhcnRjb2xjb2xsYXRpb24gIT0gZW5kY29sY29sbGF0aW9uKQorCQkJZXJlcG9y dChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9DT0xMQVRJT05fTUlTTUFUQ0gpLAorCQkJ CQkgZXJybXNnKCJzdGFydCBhbmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9kIG11c3QgaGF2ZSBzYW1l IGNvbGxhdGlvbiIpKSk7CisKKwkJcGVyaW9kLT5jb2x0eXBpZCA9IHN0YXJ0Y29sdHlwaWQ7CisJ CXBlcmlvZC0+cm5ndHlwaWQgPSBjaG9vc2VfcmFuZ2V0eXBlX2Zvcl9wZXJpb2QocGVyaW9kKTsK Kwl9CisKKwlyZXR1cm4gcGVyaW9kczsKK30KKwogLyoKICAqIE1lcmdlQ2hlY2tDb25zdHJhaW50 CiAgKgkJVHJ5IHRvIG1lcmdlIGFuIGluaGVyaXRlZCBDSEVDSyBjb25zdHJhaW50IHdpdGggcHJl dmlvdXMgb25lcwpAQCAtNDU0NywxMiArNTE1MCwxMiBAQCBBbHRlclRhYmxlKEFsdGVyVGFibGVT dG10ICpzdG10LCBMT0NLTU9ERSBsb2NrbW9kZSwKICAqIGV4aXN0aW5nIHF1ZXJ5IHBsYW5zLiAg T24gdGhlIGFzc3VtcHRpb24gaXQncyBub3QgdXNlZCBmb3Igc3VjaCwgd2UKICAqIGRvbid0IGhh dmUgdG8gcmVqZWN0IHBlbmRpbmcgQUZURVIgdHJpZ2dlcnMsIGVpdGhlci4KICAqCi0gKiBBbHNv LCBzaW5jZSB3ZSBkb24ndCBoYXZlIGFuIEFsdGVyVGFibGVVdGlsaXR5Q29udGV4dCwgdGhpcyBj YW5ub3QgYmUKKyAqIEFsc28sIGlmIHlvdSBkb24ndCBwYXNzIGFuIEFsdGVyVGFibGVVdGlsaXR5 Q29udGV4dCwgdGhpcyBjYW5ub3QgYmUKICAqIHVzZWQgZm9yIGFueSBzdWJjb21tYW5kIHR5cGVz IHRoYXQgcmVxdWlyZSBwYXJzZSB0cmFuc2Zvcm1hdGlvbiBvcgogICogY291bGQgZ2VuZXJhdGUg c3ViY29tbWFuZHMgdGhhdCBoYXZlIHRvIGJlIHBhc3NlZCB0byBQcm9jZXNzVXRpbGl0eS4KICAq Lwogdm9pZAotQWx0ZXJUYWJsZUludGVybmFsKE9pZCByZWxpZCwgTGlzdCAqY21kcywgYm9vbCBy ZWN1cnNlKQorQWx0ZXJUYWJsZUludGVybmFsKE9pZCByZWxpZCwgTGlzdCAqY21kcywgYm9vbCBy ZWN1cnNlLCBBbHRlclRhYmxlVXRpbGl0eUNvbnRleHQgKmNvbnRleHQpCiB7CiAJUmVsYXRpb24J cmVsOwogCUxPQ0tNT0RFCWxvY2ttb2RlID0gQWx0ZXJUYWJsZUdldExvY2tMZXZlbChjbWRzKTsK QEAgLTQ1NjEsNyArNTE2NCw3IEBAIEFsdGVyVGFibGVJbnRlcm5hbChPaWQgcmVsaWQsIExpc3Qg KmNtZHMsIGJvb2wgcmVjdXJzZSkKIAogCUV2ZW50VHJpZ2dlckFsdGVyVGFibGVSZWxpZChyZWxp ZCk7CiAKLQlBVENvbnRyb2xsZXIoTlVMTCwgcmVsLCBjbWRzLCByZWN1cnNlLCBsb2NrbW9kZSwg TlVMTCk7CisJQVRDb250cm9sbGVyKE5VTEwsIHJlbCwgY21kcywgcmVjdXJzZSwgbG9ja21vZGUs IGNvbnRleHQpOwogfQogCiAvKgpAQCAtNDY1NCw2ICs1MjU3LDkgQEAgQWx0ZXJUYWJsZUdldExv Y2tMZXZlbChMaXN0ICpjbWRzKQogCQkJY2FzZSBBVF9FbmFibGVSZXBsaWNhUnVsZToJLyogbWF5 IGNoYW5nZSBTRUxFQ1QgcnVsZXMgKi8KIAkJCWNhc2UgQVRfRW5hYmxlUnVsZTogLyogbWF5IGNo YW5nZSBTRUxFQ1QgcnVsZXMgKi8KIAkJCWNhc2UgQVRfRGlzYWJsZVJ1bGU6CS8qIG1heSBjaGFu Z2UgU0VMRUNUIHJ1bGVzICovCisJCQljYXNlIEFUX0FkZFBlcmlvZDoJLyogc2hhcmVzIG5hbWVz cGFjZSB3aXRoIGNvbHVtbnMsIGFkZHMKKwkJCQkJCQkJICogY29uc3RyYWludCAqLworCQkJY2Fz ZSBBVF9Ecm9wUGVyaW9kOgogCQkJCWNtZF9sb2NrbW9kZSA9IEFjY2Vzc0V4Y2x1c2l2ZUxvY2s7 CiAJCQkJYnJlYWs7CiAKQEAgLTQ5NzMsNiArNTU3OSwxNyBAQCBBVFByZXBDbWQoTGlzdCAqKndx dWV1ZSwgUmVsYXRpb24gcmVsLCBBbHRlclRhYmxlQ21kICpjbWQsCiAJCQkvKiBUaGlzIGNvbW1h bmQgbmV2ZXIgcmVjdXJzZXMgKi8KIAkJCXBhc3MgPSBBVF9QQVNTX0FERF9PVEhFUkNPTlNUUjsK IAkJCWJyZWFrOworCQljYXNlIEFUX0FkZFBlcmlvZDoJCS8qIEFMVEVSIFRBQkxFIC4uLiBBREQg UEVSSU9EIEZPUiBuYW1lIChzdGFydCwKKwkJCQkJCQkJICogZW5kKSAqLworCQkJQVRTaW1wbGVQ ZXJtaXNzaW9ucyhjbWQtPnN1YnR5cGUsIHJlbCwgQVRUX1RBQkxFKTsKKwkJCUFUUHJlcEFkZFBl cmlvZCh3cXVldWUsIHJlbCwgY21kLCBsb2NrbW9kZSwgY29udGV4dCk7CisJCQkvKiBObyByZWN1 cnNpb246IGluaGVyaXRhbmNlIG5vdCBzdXBwb3J0ZWQgd2l0aCBQRVJJT0RzICovCisJCQlwYXNz ID0gQVRfUEFTU19BRERfUEVSSU9EOworCQkJYnJlYWs7CisJCWNhc2UgQVRfRHJvcFBlcmlvZDoJ CS8qIEFMVEVSIFRBQkxFIC4uLiBEUk9QIFBFUklPRCBGT1IgbmFtZSAqLworCQkJQVRTaW1wbGVQ ZXJtaXNzaW9ucyhjbWQtPnN1YnR5cGUsIHJlbCwgQVRUX1RBQkxFKTsKKwkJCXBhc3MgPSBBVF9Q QVNTX0RST1A7CisJCQlicmVhazsKIAkJY2FzZSBBVF9BZGRJZGVudGl0eToKIAkJCUFUU2ltcGxl UGVybWlzc2lvbnMoY21kLT5zdWJ0eXBlLCByZWwsCiAJCQkJCQkJCUFUVF9UQUJMRSB8IEFUVF9Q QVJUSVRJT05FRF9UQUJMRSB8IEFUVF9WSUVXIHwKQEAgLTUzODYsNiArNjAwMywxNCBAQCBBVEV4 ZWNDbWQoTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLAogCQljYXNlIEFUX0Nv b2tlZENvbHVtbkRlZmF1bHQ6CS8qIGFkZCBhIHByZS1jb29rZWQgZGVmYXVsdCAqLwogCQkJYWRk cmVzcyA9IEFURXhlY0Nvb2tlZENvbHVtbkRlZmF1bHQocmVsLCBjbWQtPm51bSwgY21kLT5kZWYp OwogCQkJYnJlYWs7CisJCWNhc2UgQVRfQWRkUGVyaW9kOgorCQkJYWRkcmVzcyA9IEFURXhlY0Fk ZFBlcmlvZCh3cXVldWUsIHRhYiwgcmVsLCAoUGVyaW9kRGVmICopIGNtZC0+ZGVmLAorCQkJCQkJ CQkJICBsb2NrbW9kZSwgY29udGV4dCk7CisJCQlicmVhazsKKwkJY2FzZSBBVF9Ecm9wUGVyaW9k OgorCQkJQVRFeGVjRHJvcFBlcmlvZChyZWwsIGNtZC0+bmFtZSwgY21kLT5iZWhhdmlvciwgZmFs c2UsIGZhbHNlLAorCQkJCQkJCSBjbWQtPm1pc3Npbmdfb2spOworCQkJYnJlYWs7CiAJCWNhc2Ug QVRfQWRkSWRlbnRpdHk6CiAJCQljbWQgPSBBVFBhcnNlVHJhbnNmb3JtQ21kKHdxdWV1ZSwgdGFi LCByZWwsIGNtZCwgZmFsc2UsIGxvY2ttb2RlLAogCQkJCQkJCQkJICBjdXJfcGFzcywgY29udGV4 dCk7CkBAIC02NTkyLDYgKzcyMTcsOCBAQCBhbHRlcl90YWJsZV90eXBlX3RvX3N0cmluZyhBbHRl clRhYmxlVHlwZSBjbWR0eXBlKQogCQljYXNlIEFUX0FkZENvbHVtbjoKIAkJY2FzZSBBVF9BZGRD b2x1bW5Ub1ZpZXc6CiAJCQlyZXR1cm4gIkFERCBDT0xVTU4iOworCQljYXNlIEFUX0FkZFBlcmlv ZDoKKwkJCXJldHVybiAiQUREIFBFUklPRCI7CiAJCWNhc2UgQVRfQ29sdW1uRGVmYXVsdDoKIAkJ Y2FzZSBBVF9Db29rZWRDb2x1bW5EZWZhdWx0OgogCQkJcmV0dXJuICJBTFRFUiBDT0xVTU4gLi4u IFNFVCBERUZBVUxUIjsKQEAgLTY2MTUsNiArNzI0Miw4IEBAIGFsdGVyX3RhYmxlX3R5cGVfdG9f c3RyaW5nKEFsdGVyVGFibGVUeXBlIGNtZHR5cGUpCiAJCQlyZXR1cm4gIkFMVEVSIENPTFVNTiAu Li4gU0VUIENPTVBSRVNTSU9OIjsKIAkJY2FzZSBBVF9Ecm9wQ29sdW1uOgogCQkJcmV0dXJuICJE Uk9QIENPTFVNTiI7CisJCWNhc2UgQVRfRHJvcFBlcmlvZDoKKwkJCXJldHVybiAiRFJPUCBQRVJJ T0QiOwogCQljYXNlIEFUX0FkZEluZGV4OgogCQljYXNlIEFUX1JlQWRkSW5kZXg6CiAJCQlyZXR1 cm4gTlVMTDsJCS8qIG5vdCByZWFsIGdyYW1tYXIgKi8KQEAgLTc2MzMsMTQgKzgyNjIsMzAgQEAg QVRFeGVjQWRkQ29sdW1uKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVs YXRpb24gcmVsLAogLyoKICAqIElmIGEgbmV3IG9yIHJlbmFtZWQgY29sdW1uIHdpbGwgY29sbGlk ZSB3aXRoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nCiAgKiBjb2x1bW4gYW5kIGlmX25vdF9leGlz dHMgaXMgZmFsc2UgdGhlbiBlcnJvciBvdXQsIGVsc2UgZG8gbm90aGluZy4KKyAqCisgKiBTZWUg YWxzbyBjaGVja19mb3JfcGVyaW9kX25hbWVfY29sbGlzaW9uLgogICovCiBzdGF0aWMgYm9vbAog Y2hlY2tfZm9yX2NvbHVtbl9uYW1lX2NvbGxpc2lvbihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIg KmNvbG5hbWUsCiAJCQkJCQkJCWJvb2wgaWZfbm90X2V4aXN0cykKIHsKLQlIZWFwVHVwbGUJYXR0 VHVwbGU7CisJSGVhcFR1cGxlCWF0dFR1cGxlLAorCQkJCXBlclR1cGxlOwogCWludAkJCWF0dG51 bTsKIAorCS8qIElmIHRoZSBuYW1lIGV4aXN0cyBhcyBhIHBlcmlvZCwgd2UncmUgZG9uZS4gKi8K KwlwZXJUdXBsZSA9IFNlYXJjaFN5c0NhY2hlMihQRVJJT0ROQU1FLAorCQkJCQkJCSAgIE9iamVj dElkR2V0RGF0dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpKSwKKwkJCQkJCQkgICBQb2ludGVyR2V0 RGF0dW0oY29sbmFtZSkpOworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHBlclR1cGxlKSkKKwl7CisJ CVJlbGVhc2VTeXNDYWNoZShwZXJUdXBsZSk7CisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNv ZGUoRVJSQ09ERV9EVVBMSUNBVEVfQ09MVU1OKSwKKwkJCQkgZXJybXNnKCJjb2x1bW4gbmFtZSBc IiVzXCIgY29uZmxpY3RzIHdpdGggYSBwZXJpb2QgbmFtZSIsCisJCQkJCQljb2xuYW1lKSkpOwor CX0KKwogCS8qCiAJICogdGhpcyB0ZXN0IGlzIGRlbGliZXJhdGVseSBub3QgYXR0aXNkcm9wcGVk LWF3YXJlLCBzaW5jZSBpZiBvbmUgdHJpZXMgdG8KIAkgKiBhZGQgYSBjb2x1bW4gbWF0Y2hpbmcg YSBkcm9wcGVkIGNvbHVtbiBuYW1lLCBpdCdzIGdvbm5hIGZhaWwgYW55d2F5LgpAQCAtNzY4NCw2 ICs4MzI5LDc4IEBAIGNoZWNrX2Zvcl9jb2x1bW5fbmFtZV9jb2xsaXNpb24oUmVsYXRpb24gcmVs LCBjb25zdCBjaGFyICpjb2xuYW1lLAogCXJldHVybiB0cnVlOwogfQogCisvKgorICogSWYgYSBu ZXcgcGVyaW9kIG5hbWUgd2lsbCBjb2xsaWRlIHdpdGggdGhlIG5hbWUgb2YgYW4gZXhpc3Rpbmcg Y29sdW1uIG9yCisgKiBwZXJpb2QgW2FuZCBpZl9ub3RfZXhpc3RzIGlzIGZhbHNlXSB0aGVuIGVy cm9yIG91dCwgZWxzZSBkbyBub3RoaW5nLgorICoKKyAqIFNlZSBhbHNvIGNoZWNrX2Zvcl9jb2x1 bW5fbmFtZV9jb2xsaXNpb24uCisgKi8KK3N0YXRpYyBib29sCitjaGVja19mb3JfcGVyaW9kX25h bWVfY29sbGlzaW9uKFJlbGF0aW9uIHJlbCwgY29uc3QgY2hhciAqcGVybmFtZSwKKwkJCQkJCQkJ Ym9vbCBjb2xleGlzdHMsIGJvb2wgaWZfbm90X2V4aXN0cykKK3sKKwlIZWFwVHVwbGUJYXR0VHVw bGUsCisJCQkJcGVyVHVwbGU7CisJaW50CQkJYXR0bnVtOworCisJLyogWFhYOiBpbXBsZW1lbnQg SUYgW05PVF0gRVhJU1RTIGZvciBwZXJpb2RzICovCisJQXNzZXJ0KCFpZl9ub3RfZXhpc3RzKTsK KworCS8qIElmIHRoZXJlIGlzIGFscmVhZHkgYSBwZXJpb2Qgd2l0aCB0aGlzIG5hbWUsIHRoZW4g d2UncmUgZG9uZS4gKi8KKwlwZXJUdXBsZSA9IFNlYXJjaFN5c0NhY2hlMihQRVJJT0ROQU1FLAor CQkJCQkJCSAgIE9iamVjdElkR2V0RGF0dW0oUmVsYXRpb25HZXRSZWxpZChyZWwpKSwKKwkJCQkJ CQkgICBQb2ludGVyR2V0RGF0dW0ocGVybmFtZSkpOworCWlmIChIZWFwVHVwbGVJc1ZhbGlkKHBl clR1cGxlKSkKKwl7CisJCWlmIChpZl9ub3RfZXhpc3RzKQorCQl7CisJCQlSZWxlYXNlU3lzQ2Fj aGUocGVyVHVwbGUpOworCisJCQllcmVwb3J0KE5PVElDRSwKKwkJCQkJKGVycmNvZGUoRVJSQ09E RV9EVVBMSUNBVEVfQ09MVU1OKSwKKwkJCQkJIGVycm1zZygicGVyaW9kIFwiJXNcIiBvZiByZWxh dGlvbiBcIiVzXCIgYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nIiwKKwkJCQkJCQlwZXJuYW1lLCBS ZWxhdGlvbkdldFJlbGF0aW9uTmFtZShyZWwpKSkpOworCQkJcmV0dXJuIGZhbHNlOworCQl9CisK KwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9DT0xVTU4p LAorCQkJCSBlcnJtc2coInBlcmlvZCBcIiVzXCIgb2YgcmVsYXRpb24gXCIlc1wiIGFscmVhZHkg ZXhpc3RzIiwKKwkJCQkJCXBlcm5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpKSk7 CisJfQorCisJLyoKKwkgKiB0aGlzIHRlc3QgaXMgZGVsaWJlcmF0ZWx5IG5vdCBhdHRpc2Ryb3Bw ZWQtYXdhcmUsIHNpbmNlIGlmIG9uZSB0cmllcyB0bworCSAqIGFkZCBhIGNvbHVtbiBtYXRjaGlu ZyBhIGRyb3BwZWQgY29sdW1uIG5hbWUsIGl0J3MgZ29ubmEgZmFpbCBhbnl3YXkuCisJICovCisJ YXR0VHVwbGUgPSBTZWFyY2hTeXNDYWNoZTIoQVRUTkFNRSwKKwkJCQkJCQkgICBPYmplY3RJZEdl dERhdHVtKFJlbGF0aW9uR2V0UmVsaWQocmVsKSksCisJCQkJCQkJICAgUG9pbnRlckdldERhdHVt KHBlcm5hbWUpKTsKKwlpZiAoSGVhcFR1cGxlSXNWYWxpZChhdHRUdXBsZSkpCisJeworCQlhdHRu dW0gPSAoKEZvcm1fcGdfYXR0cmlidXRlKSBHRVRTVFJVQ1QoYXR0VHVwbGUpKS0+YXR0bnVtOwor CQlSZWxlYXNlU3lzQ2FjaGUoYXR0VHVwbGUpOworCisJCS8qCisJCSAqIFdlIHRocm93IGEgZGlm ZmVyZW50IGVycm9yIG1lc3NhZ2UgZm9yIGNvbmZsaWN0cyB3aXRoIHN5c3RlbSBjb2x1bW4KKwkJ ICogbmFtZXMsIHNpbmNlIHRoZXkgYXJlIG5vcm1hbGx5IG5vdCBzaG93biBhbmQgdGhlIHVzZXIg bWlnaHQKKwkJICogb3RoZXJ3aXNlIGJlIGNvbmZ1c2VkIGFib3V0IHRoZSByZWFzb24gZm9yIHRo ZSBjb25mbGljdC4KKwkJICovCisJCWlmIChhdHRudW0gPD0gMCkKKwkJCWVyZXBvcnQoRVJST1Is CisJCQkJCShlcnJjb2RlKEVSUkNPREVfRFVQTElDQVRFX0NPTFVNTiksCisJCQkJCSBlcnJtc2co InBlcmlvZCBuYW1lIFwiJXNcIiBjb25mbGljdHMgd2l0aCBhIHN5c3RlbSBjb2x1bW4gbmFtZSIs CisJCQkJCQkJcGVybmFtZSkpKTsKKwkJaWYgKCFjb2xleGlzdHMpCisJCQllcmVwb3J0KEVSUk9S LAorCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9DT0xVTU4pLAorCQkJCQkgZXJybXNn KCJwZXJpb2QgbmFtZSBcIiVzXCIgY29uZmxpY3RzIHdpdGggYSBjb2x1bW4gbmFtZSIsCisJCQkJ CQkJcGVybmFtZSkpKTsKKwl9CisKKwlyZXR1cm4gdHJ1ZTsKK30KKwogLyoKICAqIEluc3RhbGwg YSBjb2x1bW4ncyBkZXBlbmRlbmN5IG9uIGl0cyBkYXRhdHlwZS4KICAqLwpAQCAtODIyMyw2ICs4 OTQwLDIwOSBAQCBBVEV4ZWNDb29rZWRDb2x1bW5EZWZhdWx0KFJlbGF0aW9uIHJlbCwgQXR0ck51 bWJlciBhdHRudW0sCiAJcmV0dXJuIGFkZHJlc3M7CiB9CiAKKy8qCisgKiBQcmVwYXJlIHRvIGFk ZCBhIFBFUklPRCB0byBhIHRhYmxlLCBieSBhZGRpbmcgYWxsIGl0cyBjb25zdGl0dWVudCBvYmpl Y3RzLgorICoKKyAqIFdlIG5lZWQgYSBDSEVDSyBjb25zdHJhaW50IGVuZm9yY2luZyB3ZSBzdGFy dCBiZWZvcmUgd2UgZW5kLgorICoKKyAqIFVzdWFsbHkgd2UgYWxzbyBjcmVhdGUgYSBHRU5FUkFU RUQgY29sdW1uIHdpdGggYSBOT1QgTlVMTCBjb25zdHJhaW50LAorICogdW5sZXNzIHRoZSBjb21t YW5kIGluZGljYXRlcyB3ZSBoYXZlIG9uZSBhbHJlYWR5LgorICoKKyAqIFBFUklPRHMgYXJlIG5v dCBzdXBwb3J0ZWQgaW4gaW5oZXJpdGFuY2UgaGllcmFyY2hpZXMsIHNvIHdlIGRvbid0IG5lZWQK KyAqIHRvIHdvcnJ5IGFib3V0IHJlY3Vyc2lvbi4KKyAqCisgKiBBVEV4ZWNBZGRQZXJpb2Qgd2ls bCBuZWVkIHRoZSBvaWQgb2YgdGhlIENIRUNLIGNvbnN0cmFpbnQgYW5kIHRoZSBhdHRudW0KKyAq IG9mIHRoZSByYW5nZSBjb2x1bW4gKHdoZXRoZXIgbmV3IG9yIG5vdCkgdG8gcmVjb3JkIHRoZSBk ZXBlbmRlbmN5LgorICovCitzdGF0aWMgdm9pZAorQVRQcmVwQWRkUGVyaW9kKExpc3QgKip3cXVl dWUsIFJlbGF0aW9uIHJlbCwgQWx0ZXJUYWJsZUNtZCAqY21kLAorCQkJCUxPQ0tNT0RFIGxvY2tt b2RlLCBBbHRlclRhYmxlVXRpbGl0eUNvbnRleHQgKmNvbnRleHQpCit7CisJUGVyaW9kRGVmICAq cGVyaW9kID0gKFBlcmlvZERlZiAqKSBjbWQtPmRlZjsKKworCS8qCisJICogUEVSSU9EIEZPUiBT WVNURU1fVElNRSBpcyBub3QgeWV0IGltcGxlbWVudGVkLCBidXQgbWFrZSBzdXJlIG5vIG9uZQor CSAqIHVzZXMgdGhlIG5hbWUuCisJICovCisJaWYgKHN0cmNtcChwZXJpb2QtPnBlcmlvZG5hbWUs ICJzeXN0ZW1fdGltZSIpID09IDApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGUoRVJS Q09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coIlBFUklPRCBGT1IgU1lT VEVNX1RJTUUgaXMgbm90IHN1cHBvcnRlZCIpKSk7CisKKwlpZiAoc3RyY21wKHBlcmlvZC0+c3Rh cnRjb2xuYW1lLCBwZXJpb2QtPmVuZGNvbG5hbWUpID09IDApCisJCWVyZXBvcnQoRVJST1IsIChl cnJtc2coImNvbHVtbiBcIiVzXCIgY2FuJ3QgYmUgdGhlIHN0YXJ0IGFuZCBlbmQgY29sdW1uIGZv ciBwZXJpb2QgXCIlc1wiIiwKKwkJCQkJCQkgICBwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgcGVyaW9k LT5wZXJpb2RuYW1lKSkpOworCisJLyogUGFyc2Ugb3B0aW9ucyAqLworCXRyYW5zZm9ybVBlcmlv ZE9wdGlvbnMocGVyaW9kKTsKK30KKworLyoKKyAqIEFMVEVSIFRBQkxFIEFERCBQRVJJT0QKKyAq CisgKiBSZXR1cm4gdGhlIGFkZHJlc3Mgb2YgdGhlIHBlcmlvZC4KKyAqLworc3RhdGljIE9iamVj dEFkZHJlc3MKK0FURXhlY0FkZFBlcmlvZChMaXN0ICoqd3F1ZXVlLCBBbHRlcmVkVGFibGVJbmZv ICp0YWIsIFJlbGF0aW9uIHJlbCwKKwkJCQlQZXJpb2REZWYgKnBlcmlvZCwgTE9DS01PREUgbG9j a21vZGUsCisJCQkJQWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KQoreworCVJlbGF0 aW9uCWF0dHJlbGF0aW9uOworCU9iamVjdEFkZHJlc3MgYWRkcmVzcyA9IEludmFsaWRPYmplY3RB ZGRyZXNzOworCUNvbnN0cmFpbnQgKmNvbnN0cjsKKwlDb2x1bW5EZWYgICpyYW5nZWNvbDsKKwlP aWQJCQljb25vaWQsCisJCQkJcGVyaW9kb2lkOworCUxpc3QJICAgKmNtZHMgPSBOSUw7CisJQWx0 ZXJUYWJsZUNtZCAqY21kOworCisJLyoKKwkgKiBUaGUgcGVyaW9kIG5hbWUgbXVzdCBub3QgYWxy ZWFkeSBleGlzdC4gV2UgY2FuJ3QgY2hlY2sgdGhpcyBpbgorCSAqIEFUUHJlcEFkZFBlcmlvZCBi ZWNhdXNlIHRoZSBzYW1lIEFMVEVSIFRBQkxFIGNvbW1hbmQgbWlnaHQgZG8gYSBEUk9QCisJICog UEVSSU9EIGFzIHdlbGwuCisJICovCisJKHZvaWQpIGNoZWNrX2Zvcl9wZXJpb2RfbmFtZV9jb2xs aXNpb24ocmVsLCBwZXJpb2QtPnBlcmlvZG5hbWUsCisJCQkJCQkJCQkJICAgcGVyaW9kLT5jb2xl eGlzdHMsIGZhbHNlKTsKKworCWF0dHJlbGF0aW9uID0gdGFibGVfb3BlbihBdHRyaWJ1dGVSZWxh dGlvbklkLCBSb3dFeGNsdXNpdmVMb2NrKTsKKwlWYWxpZGF0ZVBlcmlvZChyZWwsIHBlcmlvZCk7 CisKKwkvKiBNYWtlIHRoZSBDSEVDSyBjb25zdHJhaW50ICovCisJY29uc3RyID0gbWFrZV9jb25z dHJhaW50X2Zvcl9wZXJpb2QocmVsLCBwZXJpb2QpOworCWNtZCA9IG1ha2VOb2RlKEFsdGVyVGFi bGVDbWQpOworCWNtZC0+c3VidHlwZSA9IEFUX0FkZENvbnN0cmFpbnQ7CisJY21kLT5kZWYgPSAo Tm9kZSAqKSBjb25zdHI7CisJY21kcyA9IGxhcHBlbmQoY21kcywgY21kKTsKKwlBbHRlclRhYmxl SW50ZXJuYWwoUmVsYXRpb25HZXRSZWxpZChyZWwpLCBjbWRzLCB0cnVlLCBjb250ZXh0KTsKKwlj b25vaWQgPSBnZXRfcmVsYXRpb25fY29uc3RyYWludF9vaWQoUmVsYXRpb25HZXRSZWxpZChyZWwp LAorCQkJCQkJCQkJCSBwZXJpb2QtPmNvbnN0cmFpbnRuYW1lLCBmYWxzZSk7CisKKworCWlmICgh cGVyaW9kLT5jb2xleGlzdHMpCisJeworCQljbWRzID0gTklMOworCisJCS8qCisJCSAqIE1ha2Ug dGhlIHJhbmdlIGNvbHVtbi4KKwkJICoKKwkJICogV2UgaGF2ZSBhbHJlYWR5IHBhc3NlZCB0aGUg YWRkLWNvbHVtbiBwYXNzLCBzbyB3ZSBoYXZlIHRvIGNyZWF0ZSBpdAorCQkgKiBvdXJzZWxmLgor CQkgKi8KKwkJcmFuZ2Vjb2wgPSBtYWtlX3JhbmdlX2NvbHVtbl9mb3JfcGVyaW9kKHBlcmlvZCk7 CisJCWNtZCA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQpOworCQljbWQtPnN1YnR5cGUgPSBBVF9B ZGRDb2x1bW47CisJCWNtZC0+ZGVmID0gKE5vZGUgKikgcmFuZ2Vjb2w7CisJCWNtZC0+bmFtZSA9 IHBlcmlvZC0+cGVyaW9kbmFtZTsKKwkJY21kLT5yZWN1cnNlID0gZmFsc2U7CS8qIE5vLCBsZXQg dGhlIFBFUklPRCByZWN1cnNlIGluc3RlYWQuICovCisJCUFURXhlY0FkZENvbHVtbih3cXVldWUs IHRhYiwgcmVsLCAmY21kLCBmYWxzZSwgZmFsc2UsIGxvY2ttb2RlLAorCQkJCQkJQVRfUEFTU19B RERfUEVSSU9ELCBjb250ZXh0KTsKKworCQkvKiBUaGUgcmFuZ2UgY29sdW1uIHNob3VsZCBiZSBO T1QgTlVMTC4gKi8KKwkJY21kID0gbWFrZU5vZGUoQWx0ZXJUYWJsZUNtZCk7CisJCWNtZC0+c3Vi dHlwZSA9IEFUX0FkZENvbnN0cmFpbnQ7CisJCWNtZC0+ZGVmID0gKE5vZGUgKikgbWFrZU5vdE51 bGxDb25zdHJhaW50KG1ha2VTdHJpbmcocGVyaW9kLT5wZXJpb2RuYW1lKSk7CisJCWNtZC0+cmVj dXJzZSA9IGZhbHNlOwkvKiBObywgbGV0IHRoZSBQRVJJT0QgcmVjdXJzZSBpbnN0ZWFkLiAqLwor CQlBVFByZXBDbWQod3F1ZXVlLCByZWwsIGNtZCwgZmFsc2UsIGZhbHNlLCBsb2NrbW9kZSwgY29u dGV4dCk7CisKKwkJLyogTG9vayB1cCB0aGUgR0VORVJBVEVEIGF0dG51bSAqLworCQlwZXJpb2Qt PnJuZ2F0dG51bSA9IGdldF9hdHRudW0oUmVsYXRpb25HZXRSZWxpZChyZWwpLCBwZXJpb2QtPnBl cmlvZG5hbWUpOworCQlpZiAocGVyaW9kLT5ybmdhdHRudW0gPT0gSW52YWxpZEF0dHJOdW1iZXIp CisJCQllbG9nKEVSUk9SLCAibWlzc2luZyBhdHRyaWJ1dGUgJXMiLCBwZXJpb2QtPnBlcmlvZG5h bWUpOworCX0KKworCS8qIFNhdmUgdGhlIFBlcmlvZCAqLworCXBlcmlvZG9pZCA9IFN0b3JlUGVy aW9kKHJlbCwgcGVyaW9kLT5wZXJpb2RuYW1lLCBwZXJpb2QtPnN0YXJ0YXR0bnVtLAorCQkJCQkJ CXBlcmlvZC0+ZW5kYXR0bnVtLCBwZXJpb2QtPnJuZ2F0dG51bSwgY29ub2lkKTsKKworCU9iamVj dEFkZHJlc3NTZXQoYWRkcmVzcywgUGVyaW9kUmVsYXRpb25JZCwgcGVyaW9kb2lkKTsKKworCXRh YmxlX2Nsb3NlKGF0dHJlbGF0aW9uLCBSb3dFeGNsdXNpdmVMb2NrKTsKKworCXJldHVybiBhZGRy ZXNzOworfQorCisvKgorICogQUxURVIgVEFCTEUgRFJPUCBQRVJJT0QKKyAqCisgKiBMaWtlIERS T1AgQ09MVU1OLCB3ZSBjYW4ndCB1c2UgdGhlIG5vcm1hbCBBTFRFUiBUQUJMRSByZWN1cnNpb24g bWVjaGFuaXNtLgorICovCitzdGF0aWMgdm9pZAorQVRFeGVjRHJvcFBlcmlvZChSZWxhdGlvbiBy ZWwsIGNvbnN0IGNoYXIgKnBlcmlvZE5hbWUsCisJCQkJIERyb3BCZWhhdmlvciBiZWhhdmlvciwK KwkJCQkgYm9vbCByZWN1cnNlLCBib29sIHJlY3Vyc2luZywKKwkJCQkgYm9vbCBtaXNzaW5nX29r KQoreworCVJlbGF0aW9uCXBnX3BlcmlvZDsKKwlGb3JtX3BnX3BlcmlvZCBwZXJpb2Q7CisJU3lz U2NhbkRlc2Mgc2NhbjsKKwlTY2FuS2V5RGF0YSBrZXk7CisJSGVhcFR1cGxlCXR1cGxlOworCWJv b2wJCWZvdW5kID0gZmFsc2U7CisKKwkvKiBBdCB0b3AgbGV2ZWwsIHBlcm1pc3Npb24gY2hlY2sg d2FzIGRvbmUgaW4gQVRQcmVwQ21kLCBlbHNlIGRvIGl0ICovCisJaWYgKHJlY3Vyc2luZykKKwkJ QVRTaW1wbGVQZXJtaXNzaW9ucyhBVF9Ecm9wUGVyaW9kLCByZWwsIEFUVF9UQUJMRSk7CisKKwlw Z19wZXJpb2QgPSB0YWJsZV9vcGVuKFBlcmlvZFJlbGF0aW9uSWQsIFJvd0V4Y2x1c2l2ZUxvY2sp OworCisJLyoKKwkgKiBGaW5kIGFuZCBkcm9wIHRoZSB0YXJnZXQgcGVyaW9kCisJICovCisJU2Nh bktleUluaXQoJmtleSwKKwkJCQlBbnVtX3BnX3BlcmlvZF9wZXJyZWxpZCwKKwkJCQlCVEVxdWFs U3RyYXRlZ3lOdW1iZXIsIEZfT0lERVEsCisJCQkJT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdl dFJlbGlkKHJlbCkpKTsKKwlzY2FuID0gc3lzdGFibGVfYmVnaW5zY2FuKHBnX3BlcmlvZCwgUGVy aW9kUmVsaWROYW1lSW5kZXhJZCwKKwkJCQkJCQkgIHRydWUsIE5VTEwsIDEsICZrZXkpOworCisJ d2hpbGUgKEhlYXBUdXBsZUlzVmFsaWQodHVwbGUgPSBzeXN0YWJsZV9nZXRuZXh0KHNjYW4pKSkK Kwl7CisJCU9iamVjdEFkZHJlc3MgcGVyb2JqOworCisJCXBlcmlvZCA9IChGb3JtX3BnX3Blcmlv ZCkgR0VUU1RSVUNUKHR1cGxlKTsKKworCQlpZiAoc3RyY21wKE5hbWVTdHIocGVyaW9kLT5wZXJu YW1lKSwgcGVyaW9kTmFtZSkgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCS8qCisJCSAqIFBlcmZv cm0gdGhlIGFjdHVhbCBwZXJpb2QgZGVsZXRpb24KKwkJICovCisJCXBlcm9iai5jbGFzc0lkID0g UGVyaW9kUmVsYXRpb25JZDsKKwkJcGVyb2JqLm9iamVjdElkID0gcGVyaW9kLT5vaWQ7CisJCXBl cm9iai5vYmplY3RTdWJJZCA9IDA7CisKKwkJcGVyZm9ybURlbGV0aW9uKCZwZXJvYmosIGJlaGF2 aW9yLCAwKTsKKworCQlmb3VuZCA9IHRydWU7CisKKwkJLyogcGVyaW9kIGZvdW5kIGFuZCBkcm9w cGVkIC0tIG5vIG5lZWQgdG8ga2VlcCBsb29waW5nICovCisJCWJyZWFrOworCX0KKworCXN5c3Rh YmxlX2VuZHNjYW4oc2Nhbik7CisKKwlpZiAoIWZvdW5kKQorCXsKKwkJaWYgKCFtaXNzaW5nX29r KQorCQl7CisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1VOREVGSU5F RF9PQkpFQ1QpLAorCQkJCQkgZXJybXNnKCJwZXJpb2QgXCIlc1wiIG9uIHJlbGF0aW9uIFwiJXNc IiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQkJcGVyaW9kTmFtZSwgUmVsYXRpb25HZXRSZWxhdGlv bk5hbWUocmVsKSkpKTsKKwkJfQorCQllbHNlCisJCXsKKwkJCWVyZXBvcnQoTk9USUNFLAorCQkJ CQkoZXJybXNnKCJwZXJpb2QgXCIlc1wiIG9uIHJlbGF0aW9uIFwiJXNcIiBkb2VzIG5vdCBleGlz dCwgc2tpcHBpbmciLAorCQkJCQkJCXBlcmlvZE5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1l KHJlbCkpKSk7CisJCQl0YWJsZV9jbG9zZShwZ19wZXJpb2QsIFJvd0V4Y2x1c2l2ZUxvY2spOwor CQkJcmV0dXJuOworCQl9CisJfQorCisJdGFibGVfY2xvc2UocGdfcGVyaW9kLCBSb3dFeGNsdXNp dmVMb2NrKTsKK30KKwogLyoKICAqIEFMVEVSIFRBQkxFIEFMVEVSIENPTFVNTiBBREQgSURFTlRJ VFkKICAqCkBAIC0xMDIxMCw4ICsxMTEzMCw5IEBAIEFUQWRkRm9yZWlnbktleUNvbnN0cmFpbnQo TGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJZm9y IChpID0gMDsgaSA8IG51bWZrczsgaSsrKQogCXsKIAkJY2hhcgkJYXR0Z2VuZXJhdGVkID0gVHVw bGVEZXNjQXR0cihSZWxhdGlvbkdldERlc2NyKHJlbCksIGZrYXR0bnVtW2ldIC0gMSktPmF0dGdl bmVyYXRlZDsKKwkJQml0bWFwc2V0ICAqcGVyaW9kcyA9IGdldF9wZXJpb2RfYXR0bm9zKFJlbGF0 aW9uR2V0UmVsaWQocmVsKSk7CiAKLQkJaWYgKGF0dGdlbmVyYXRlZCkKKwkJaWYgKGF0dGdlbmVy YXRlZCAmJiAhYm1zX2lzX21lbWJlcihma2F0dG51bVtpXSwgcGVyaW9kcykpCiAJCXsKIAkJCS8q CiAJCQkgKiBDaGVjayByZXN0cmljdGlvbnMgb24gVVBEQVRFL0RFTEVURSBhY3Rpb25zLCBwZXIg U1FMIHN0YW5kYXJkCkBAIC0xNTEwOCw2ICsxNjAyOSwxNiBAQCBSZW1lbWJlckFsbERlcGVuZGVu dEZvclJlYnVpbGRpbmcoQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBBbHRlclRhYmxlVHlwZSBzdWJ0 eXBlLAogCQkJCVJlbWVtYmVyQ29uc3RyYWludEZvclJlYnVpbGRpbmcoZm91bmRPYmplY3Qub2Jq ZWN0SWQsIHRhYik7CiAJCQkJYnJlYWs7CiAKKwkJCWNhc2UgUGVyaW9kUmVsYXRpb25JZDoKKwkJ CQlpZiAoc3VidHlwZSA9PSBBVF9BbHRlckNvbHVtblR5cGUpCisJCQkJCWVyZXBvcnQoRVJST1Is CisJCQkJCQkJKGVycmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCQkJ CSBlcnJtc2coImNhbm5vdCBhbHRlciB0eXBlIG9mIGEgY29sdW1uIHVzZWQgYnkgYSBwZXJpb2Qi KSwKKwkJCQkJCQkgZXJyZGV0YWlsKCIlcyBkZXBlbmRzIG9uIGNvbHVtbiBcIiVzXCIiLAorCQkJ CQkJCQkJICAgZ2V0T2JqZWN0RGVzY3JpcHRpb24oJmZvdW5kT2JqZWN0LCBmYWxzZSksCisJCQkJ CQkJCQkgICBjb2xOYW1lKSkpOworCQkJCWJyZWFrOworCiAJCQljYXNlIFByb2NlZHVyZVJlbGF0 aW9uSWQ6CiAKIAkJCQkvKgpAQCAtMTUxOTcsNiArMTYxMjgsMTYgQEAgUmVtZW1iZXJBbGxEZXBl bmRlbnRGb3JSZWJ1aWxkaW5nKEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgQWx0ZXJUYWJsZVR5cGUg c3VidHlwZSwKIAkJCQkJfQogCQkJCQllbHNlCiAJCQkJCXsKKwkJCQkJCS8qCisJCQkJCQkgKiBJ ZiB0aGlzIEdFTkVSQVRFRCBjb2x1bW4gaXMgaW1wbGVtZW50aW5nIGEgUEVSSU9ELAorCQkJCQkJ ICoga2VlcCBnb2luZyBhbmQgd2UnbGwgZmFpbCBmcm9tIHRoZSBQRVJJT0QgaW5zdGVhZC4KKwkJ CQkJCSAqIFRoaXMgZ2l2ZXMgYSBtb3JlIGNsZWFyIGVycm9yIG1lc3NhZ2UuCisJCQkJCQkgKi8K KwkJCQkJCUJpdG1hcHNldCAgKnBlcmlvZGF0dHMgPSBnZXRfcGVyaW9kX2F0dG5vcyhSZWxhdGlv bkdldFJlbGlkKHJlbCkpOworCisJCQkJCQlpZiAoYm1zX2lzX21lbWJlcihjb2wub2JqZWN0U3Vi SWQsIHBlcmlvZGF0dHMpKQorCQkJCQkJCWJyZWFrOworCiAJCQkJCQkvKgogCQkJCQkJICogVGhp cyBtdXN0IGJlIGEgcmVmZXJlbmNlIGZyb20gdGhlIGV4cHJlc3Npb24gb2YgYQogCQkJCQkJICog Z2VuZXJhdGVkIGNvbHVtbiBlbHNld2hlcmUgaW4gdGhlIHNhbWUgdGFibGUuCkBAIC0xNzEzMyw3 ICsxODA3NCw3IEBAIEFsdGVyVGFibGVNb3ZlQWxsKEFsdGVyVGFibGVNb3ZlQWxsU3RtdCAqc3Rt dCkKIAogCQlFdmVudFRyaWdnZXJBbHRlclRhYmxlU3RhcnQoKE5vZGUgKikgc3RtdCk7CiAJCS8q IE9JRCBpcyBzZXQgYnkgQWx0ZXJUYWJsZUludGVybmFsICovCi0JCUFsdGVyVGFibGVJbnRlcm5h bChsZmlyc3Rfb2lkKGwpLCBjbWRzLCBmYWxzZSk7CisJCUFsdGVyVGFibGVJbnRlcm5hbChsZmly c3Rfb2lkKGwpLCBjbWRzLCBmYWxzZSwgTlVMTCk7CiAJCUV2ZW50VHJpZ2dlckFsdGVyVGFibGVF bmQoKTsKIAl9CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYwppbmRleCA0M2I5ZDgyZTYzYS4uOTY4YTkx ZmQzNGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYworKysgYi9z cmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKQEAgLTYxNDMsNiArNjE0Myw4IEBAIENvcHlG b3JQb3J0aW9uT2ZTdGF0ZShGb3JQb3J0aW9uT2ZTdGF0ZSAqc3JjKQogCQlkc3QtPmZwX3Jhbmdl TmFtZSA9IHBzdHJkdXAoc3JjLT5mcF9yYW5nZU5hbWUpOwogCQlkc3QtPmZwX3JhbmdlVHlwZSA9 IHNyYy0+ZnBfcmFuZ2VUeXBlOwogCQlkc3QtPmZwX3JhbmdlQXR0bm8gPSBzcmMtPmZwX3Jhbmdl QXR0bm87CisJCWRzdC0+ZnBfcGVyaW9kU3RhcnRBdHRubyA9IHNyYy0+ZnBfcGVyaW9kU3RhcnRB dHRubzsKKwkJZHN0LT5mcF9wZXJpb2RFbmRBdHRubyA9IHNyYy0+ZnBfcGVyaW9kRW5kQXR0bm87 CiAKIAkJciA9IERhdHVtR2V0UmFuZ2VUeXBlUChzcmMtPmZwX3RhcmdldFJhbmdlKTsKIAkJdHlw Y2FjaGUgPSBsb29rdXBfdHlwZV9jYWNoZShSYW5nZVR5cGVHZXRPaWQociksIFRZUEVDQUNIRV9S QU5HRV9JTkZPKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZpZXcuYyBiL3Ny Yy9iYWNrZW5kL2NvbW1hbmRzL3ZpZXcuYwppbmRleCA2ZjAzMDE1NTVlMC4uYzcyNzY4MzYyMjAg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3ZpZXcuYworKysgYi9zcmMvYmFja2Vu ZC9jb21tYW5kcy92aWV3LmMKQEAgLTE2Myw3ICsxNjMsNyBAQCBEZWZpbmVWaXJ0dWFsUmVsYXRp b24oUmFuZ2VWYXIgKnJlbGF0aW9uLCBMaXN0ICp0bGlzdCwgYm9vbCByZXBsYWNlLAogCQkJfQog CiAJCQkvKiBFdmVudFRyaWdnZXJBbHRlclRhYmxlU3RhcnQgY2FsbGVkIGJ5IFByb2Nlc3NVdGls aXR5U2xvdyAqLwotCQkJQWx0ZXJUYWJsZUludGVybmFsKHZpZXdPaWQsIGF0Y21kcywgdHJ1ZSk7 CisJCQlBbHRlclRhYmxlSW50ZXJuYWwodmlld09pZCwgYXRjbWRzLCB0cnVlLCBOVUxMKTsKIAog CQkJLyogTWFrZSB0aGUgbmV3IHZpZXcgY29sdW1ucyB2aXNpYmxlICovCiAJCQlDb21tYW5kQ291 bnRlckluY3JlbWVudCgpOwpAQCAtMTk1LDcgKzE5NSw3IEBAIERlZmluZVZpcnR1YWxSZWxhdGlv bihSYW5nZVZhciAqcmVsYXRpb24sIExpc3QgKnRsaXN0LCBib29sIHJlcGxhY2UsCiAJCWF0Y21k cyA9IGxpc3RfbWFrZTEoYXRjbWQpOwogCiAJCS8qIEV2ZW50VHJpZ2dlckFsdGVyVGFibGVTdGFy dCBjYWxsZWQgYnkgUHJvY2Vzc1V0aWxpdHlTbG93ICovCi0JCUFsdGVyVGFibGVJbnRlcm5hbCh2 aWV3T2lkLCBhdGNtZHMsIHRydWUpOworCQlBbHRlclRhYmxlSW50ZXJuYWwodmlld09pZCwgYXRj bWRzLCB0cnVlLCBOVUxMKTsKIAogCQkvKgogCQkgKiBUaGVyZSBpcyB2ZXJ5IGxpdHRsZSB0byBk byBoZXJlIHRvIHVwZGF0ZSB0aGUgdmlldydzIGRlcGVuZGVuY2llcy4KZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2V4ZWN1dG9yL25vZGVNb2RpZnlUYWJsZS5jIGIvc3JjL2JhY2tlbmQvZXhlY3V0 b3Ivbm9kZU1vZGlmeVRhYmxlLmMKaW5kZXggMzUwNzE0MzUzYzkuLjYxNzQzYTVkYTg4IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYworKysgYi9zcmMv YmFja2VuZC9leGVjdXRvci9ub2RlTW9kaWZ5VGFibGUuYwpAQCAtMTM5MCw2ICsxMzkwLDcgQEAg RXhlY0ZvclBvcnRpb25PZkxlZnRvdmVycyhNb2RpZnlUYWJsZUNvbnRleHQgKmNvbnRleHQsCiAJ VHJhbnNpdGlvbkNhcHR1cmVTdGF0ZSAqb2xkVGNzOwogCUZtZ3JJbmZvCWZsaW5mbzsKIAlSZXR1 cm5TZXRJbmZvIHJzaTsKKwlib29sCQloYXNQZXJpb2QgPSBmYWxzZTsKIAlib29sCQlkaWRJbml0 ID0gZmFsc2U7CiAJYm9vbAkJc2hvdWxkRnJlZSA9IGZhbHNlOwogCkBAIC0xNTAxLDYgKzE1MDIs OCBAQCBFeGVjRm9yUG9ydGlvbk9mTGVmdG92ZXJzKE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4 dCwKIAkJCQlFeGVjRm9yY2VTdG9yZUhlYXBUdXBsZShvbGR0dXBsZSwgbGVmdG92ZXJTbG90LCBm YWxzZSk7CiAJCQl9CiAKKwkJCWhhc1BlcmlvZCA9IGZvclBvcnRpb25PZi0+c3RhcnRWYXI7CisK IAkJCS8qCiAJCQkgKiBTYXZlIHNvbWUgbXRzdGF0ZSB0aGluZ3Mgc28gd2UgY2FuIHJlc3RvcmUg dGhlbSBiZWxvdy4gWFhYOgogCQkJICogU2hvdWxkIHdlIGNyZWF0ZSBvdXIgb3duIE1vZGlmeVRh YmxlU3RhdGUgaW5zdGVhZD8KQEAgLTE1MTIsOCArMTUxNSw0MiBAQCBFeGVjRm9yUG9ydGlvbk9m TGVmdG92ZXJzKE1vZGlmeVRhYmxlQ29udGV4dCAqY29udGV4dCwKIAkJCWRpZEluaXQgPSB0cnVl OwogCQl9CiAKLQkJbGVmdG92ZXJTbG90LT50dHNfdmFsdWVzW2ZvclBvcnRpb25PZi0+cmFuZ2VW YXItPnZhcmF0dG5vIC0gMV0gPSBsZWZ0b3ZlcjsKLQkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxs W2ZvclBvcnRpb25PZi0+cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJaWYgKGhh c1BlcmlvZCkKKwkJeworCQkJUmFuZ2VUeXBlICAqbGVmdG92ZXJSYW5nZTsKKwkJCVJhbmdlQm91 bmQJbGVmdG92ZXJMb3dlcjsKKwkJCVJhbmdlQm91bmQJbGVmdG92ZXJVcHBlcjsKKwkJCWJvb2wJ CWxlZnRvdmVyRW1wdHk7CisJCQlBdHRyTnVtYmVyCXN0YXJ0QXR0bm87CisJCQlBdHRyTnVtYmVy CWVuZEF0dG5vOworCisJCQlsZWZ0b3ZlclJhbmdlID0gRGF0dW1HZXRSYW5nZVR5cGVQKGxlZnRv dmVyKTsKKwkJCXJhbmdlX2Rlc2VyaWFsaXplKHR5cGNhY2hlLCBsZWZ0b3ZlclJhbmdlLCAmbGVm dG92ZXJMb3dlciwgJmxlZnRvdmVyVXBwZXIsICZsZWZ0b3ZlckVtcHR5KTsKKworCQkJc3RhcnRB dHRubyA9IGZvclBvcnRpb25PZi0+c3RhcnRWYXItPnZhcmF0dG5vOworCQkJZW5kQXR0bm8gPSBm b3JQb3J0aW9uT2YtPmVuZFZhci0+dmFyYXR0bm87CisKKwkJCWlmIChsZWZ0b3Zlckxvd2VyLmlu ZmluaXRlKQorCQkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtzdGFydEF0dG5vIC0gMV0gPSB0 cnVlOworCQkJZWxzZQorCQkJeworCQkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtzdGFydEF0 dG5vIC0gMV0gPSBmYWxzZTsKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0c192YWx1ZXNbc3RhcnRBdHRu byAtIDFdID0gbGVmdG92ZXJMb3dlci52YWw7CisJCQl9CisKKwkJCWlmIChsZWZ0b3ZlclVwcGVy LmluZmluaXRlKQorCQkJCWxlZnRvdmVyU2xvdC0+dHRzX2lzbnVsbFtlbmRBdHRubyAtIDFdID0g dHJ1ZTsKKwkJCWVsc2UKKwkJCXsKKwkJCQlsZWZ0b3ZlclNsb3QtPnR0c19pc251bGxbZW5kQXR0 bm8gLSAxXSA9IGZhbHNlOworCQkJCWxlZnRvdmVyU2xvdC0+dHRzX3ZhbHVlc1tlbmRBdHRubyAt IDFdID0gbGVmdG92ZXJVcHBlci52YWw7CisJCQl9CisJCX0KKwkJZWxzZQorCQl7CisJCQlsZWZ0 b3ZlclNsb3QtPnR0c192YWx1ZXNbZm9yUG9ydGlvbk9mLT5yYW5nZVZhci0+dmFyYXR0bm8gLSAx XSA9IGxlZnRvdmVyOworCQkJbGVmdG92ZXJTbG90LT50dHNfaXNudWxsW2ZvclBvcnRpb25PZi0+ cmFuZ2VWYXItPnZhcmF0dG5vIC0gMV0gPSBmYWxzZTsKKwkJfQogCQlFeGVjTWF0ZXJpYWxpemVT bG90KGxlZnRvdmVyU2xvdCk7CiAKIAkJLyoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL25vZGVz L25vZGVGdW5jcy5jIGIvc3JjL2JhY2tlbmQvbm9kZXMvbm9kZUZ1bmNzLmMKaW5kZXggZTQwZThl ZWNmNzMuLjhkMmM3ZGI0YjI3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVu Y3MuYworKysgYi9zcmMvYmFja2VuZC9ub2Rlcy9ub2RlRnVuY3MuYwpAQCAtMTcyOSw2ICsxNzI5 LDkgQEAgZXhwckxvY2F0aW9uKGNvbnN0IE5vZGUgKmV4cHIpCiAJCWNhc2UgVF9Db25zdHJhaW50 OgogCQkJbG9jID0gKChjb25zdCBDb25zdHJhaW50ICopIGV4cHIpLT5sb2NhdGlvbjsKIAkJCWJy ZWFrOworCQljYXNlIFRfUGVyaW9kRGVmOgorCQkJbG9jID0gKChjb25zdCBQZXJpb2REZWYgKikg ZXhwciktPmxvY2F0aW9uOworCQkJYnJlYWs7CiAJCWNhc2UgVF9GdW5jdGlvblBhcmFtZXRlcjoK IAkJCWxvYyA9ICgoY29uc3QgRnVuY3Rpb25QYXJhbWV0ZXIgKikgZXhwciktPmxvY2F0aW9uOwog CQkJYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvYW5hbHl6ZS5jIGIvc3Jj L2JhY2tlbmQvcGFyc2VyL2FuYWx5emUuYwppbmRleCAyZDIyYTZlZTVjMC4uNzUwZjVmM2QxNzMg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9hbmFseXplLmMKKysrIGIvc3JjL2JhY2tl bmQvcGFyc2VyL2FuYWx5emUuYwpAQCAtMjQsMTAgKzI0LDEyIEBACiAKICNpbmNsdWRlICJwb3N0 Z3Jlcy5oIgogCisjaW5jbHVkZSAiYWNjZXNzL2h0dXBfZGV0YWlscy5oIgogI2luY2x1ZGUgImFj Y2Vzcy9zdHJhdG51bS5oIgogI2luY2x1ZGUgImFjY2Vzcy9zeXNhdHRyLmgiCiAjaW5jbHVkZSAi Y2F0YWxvZy9wZ19hbS5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKKyNpbmNs dWRlICJjYXRhbG9nL3BnX3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHJvYy5oIgog I2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2RlZnJlbS5o IgpAQCAtNTAsNiArNTIsNyBAQAogI2luY2x1ZGUgInBhcnNlci9wYXJzZV9yZWxhdGlvbi5oIgog I2luY2x1ZGUgInBhcnNlci9wYXJzZV90YXJnZXQuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFyc2Vf dHlwZS5oIgorI2luY2x1ZGUgInBhcnNlci9wYXJzZXIuaCIKICNpbmNsdWRlICJwYXJzZXIvcGFy c2V0cmVlLmgiCiAjaW5jbHVkZSAidXRpbHMvYmFja2VuZF9zdGF0dXMuaCIKICNpbmNsdWRlICJ1 dGlscy9idWlsdGlucy5oIgpAQCAtMTMyMSw2ICsxMzI0LDEwIEBAIHRyYW5zZm9ybUZvclBvcnRp b25PZkNsYXVzZShQYXJzZVN0YXRlICpwc3RhdGUsCiAJY2hhcgkgICAqcmFuZ2VfdHlwZV9uYW1l c3BhY2UgPSBOVUxMOwogCWNoYXIJICAgKnJhbmdlX3R5cGVfbmFtZSA9IE5VTEw7CiAJaW50CQkJ cmFuZ2VfYXR0bm8gPSBJbnZhbGlkQXR0ck51bWJlcjsKKwlBdHRyTnVtYmVyCXN0YXJ0X2F0dG5v ID0gSW52YWxpZEF0dHJOdW1iZXI7CisJQXR0ck51bWJlcgllbmRfYXR0bm8gPSBJbnZhbGlkQXR0 ck51bWJlcjsKKwljaGFyCSAgICpzdGFydGNvbG5hbWUgPSBOVUxMOworCWNoYXIJICAgKmVuZGNv bG5hbWUgPSBOVUxMOwogCUZvcm1fcGdfYXR0cmlidXRlIGF0dHI7CiAJT2lkCQkJb3BjbGFzczsK IAlPaWQJCQlvcGZhbWlseTsKQEAgLTEzNjUsNiArMTM3Miw1NCBAQCB0cmFuc2Zvcm1Gb3JQb3J0 aW9uT2ZDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCWlmICghZ2V0X3R5cG5hbWVfYW5kX25h bWVzcGFjZShhdHRyLT5hdHR0eXBpZCwgJnJhbmdlX3R5cGVfbmFtZSwgJnJhbmdlX3R5cGVfbmFt ZXNwYWNlKSkKIAkJZWxvZyhFUlJPUiwgImNhY2hlIGxvb2t1cCBmYWlsZWQgZm9yIHR5cGUgJXUi LCBhdHRyLT5hdHR0eXBpZCk7CiAKKwkvKgorCSAqIElmIHdlIGFyZSB1c2luZyBhIFBFUklPRCwg d2UgbmVlZCB0aGUgc3RhcnQgJiBlbmQgY29sdW1ucy4gSWYgdGhlCisJICogYXR0cmlidXRlIGl0 IG5vdCBhIEdFTkVSQVRFRCBjb2x1bW4sIHdlIG5lZWRuJ3QgcXVlcnkgcGdfcGVyaW9kLgorCSAq LworCWlmIChhdHRyLT5hdHRnZW5lcmF0ZWQgPT0gQVRUUklCVVRFX0dFTkVSQVRFRF9TVE9SRUQp CisJeworCQlIZWFwVHVwbGUJcGVyVHVwbGUgPSBTZWFyY2hTeXNDYWNoZTIoUEVSSU9ETkFNRSwK KwkJCQkJCQkJCQkJICAgT2JqZWN0SWRHZXREYXR1bShSZWxhdGlvbkdldFJlbGlkKHRhcmdldHJl bCkpLAorCQkJCQkJCQkJCQkgICBQb2ludGVyR2V0RGF0dW0ocmFuZ2VfbmFtZSkpOworCisJCWlm IChIZWFwVHVwbGVJc1ZhbGlkKHBlclR1cGxlKSkKKwkJeworCQkJRm9ybV9wZ19wZXJpb2QgcGVy ID0gKEZvcm1fcGdfcGVyaW9kKSBHRVRTVFJVQ1QocGVyVHVwbGUpOworCQkJRm9ybV9wZ19hdHRy aWJ1dGUgcGVyYXR0cjsKKworCQkJc3RhcnRfYXR0bm8gPSBwZXItPnBlcnN0YXJ0OworCQkJZW5k X2F0dG5vID0gcGVyLT5wZXJlbmQ7CisKKwkJCXBlcmF0dHIgPSBUdXBsZURlc2NBdHRyKHRhcmdl dHJlbC0+cmRfYXR0LCBzdGFydF9hdHRubyAtIDEpOworCQkJc3RhcnRjb2xuYW1lID0gTmFtZVN0 cihwZXJhdHRyLT5hdHRuYW1lKTsKKworCQkJcmVzdWx0LT5zdGFydFZhciA9IG1ha2VWYXIoCisJ CQkJCQkJCQkgICBydGluZGV4LAorCQkJCQkJCQkJICAgc3RhcnRfYXR0bm8sCisJCQkJCQkJCQkg ICBwZXJhdHRyLT5hdHR0eXBpZCwKKwkJCQkJCQkJCSAgIHBlcmF0dHItPmF0dHR5cG1vZCwKKwkJ CQkJCQkJCSAgIHBlcmF0dHItPmF0dGNvbGxhdGlvbiwKKwkJCQkJCQkJCSAgIDApOworCisJCQlw ZXJhdHRyID0gVHVwbGVEZXNjQXR0cih0YXJnZXRyZWwtPnJkX2F0dCwgZW5kX2F0dG5vIC0gMSk7 CisJCQllbmRjb2xuYW1lID0gTmFtZVN0cihwZXJhdHRyLT5hdHRuYW1lKTsKKwkJCXJlc3VsdC0+ ZW5kVmFyID0gbWFrZVZhcigKKwkJCQkJCQkJCSBydGluZGV4LAorCQkJCQkJCQkJIGVuZF9hdHRu bywKKwkJCQkJCQkJCSBwZXJhdHRyLT5hdHR0eXBpZCwKKwkJCQkJCQkJCSBwZXJhdHRyLT5hdHR0 eXBtb2QsCisJCQkJCQkJCQkgcGVyYXR0ci0+YXR0Y29sbGF0aW9uLAorCQkJCQkJCQkJIDApOwor CisJCQlSZWxlYXNlU3lzQ2FjaGUocGVyVHVwbGUpOworCQl9CisJfQorCisJaWYgKHN0YXJ0X2F0 dG5vID09IEludmFsaWRBdHRyTnVtYmVyKQorCXsKKwkJcmVzdWx0LT5zdGFydFZhciA9IE5VTEw7 CisJCXJlc3VsdC0+ZW5kVmFyID0gTlVMTDsKKwl9CiAKIAlpZiAoZm9yUG9ydGlvbk9mLT50YXJn ZXQpCiAKQEAgLTE0MzYsNyArMTQ5MSwxMCBAQCB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1c2Uo UGFyc2VTdGF0ZSAqcHN0YXRlLAogCXsKIAkJLyoKIAkJICogTm93IG1ha2Ugc3VyZSB3ZSB1cGRh dGUgdGhlIHN0YXJ0L2VuZCB0aW1lIG9mIHRoZSByZWNvcmQuIEZvciBhCi0JCSAqIHJhbmdlIGNv bCAocikgdGhpcyBpcyBgciA9IHIgKiB0YXJnZXRSYW5nZWAuCisJCSAqIHJhbmdlIGNvbCAocikg dGhpcyBpcyBgciA9IHIgKiB0YXJnZXRSYW5nZWAuIEZvciBhIFBFUklPRCB3aXRoIGNvbHMKKwkJ ICogKHMsIGUpIHRoaXMgaXMgYHMgPSBsb3dlcih0c3JhbmdlKHMsIGUpICogdGFyZ2V0UmFuZ2Up YCBhbmQgYGUgPQorCQkgKiB1cHBlcih0c3JhbmdlKHMsIGUpICogdGFyZ2V0UmFuZ2VgIChvZiBj b3Vyc2Ugbm90IG5lY2Vzc2FyaWx5IHdpdGgKKwkJICogdHNyYW5nZSwgYnV0IHdpdGggd2hhdGV2 ZXIgcmFuZ2UgdHlwZSBpcyB1c2VkIHRoZXJlKS4KIAkJICovCiAJCU9pZAkJCWludGVyc2VjdG9w ZXJvaWQ7CiAJCUxpc3QJICAgKmZ1bmNBcmdzID0gTklMOwpAQCAtMTQ3MSwxNCArMTUyOSw3MSBA QCB0cmFuc2Zvcm1Gb3JQb3J0aW9uT2ZDbGF1c2UoUGFyc2VTdGF0ZSAqcHN0YXRlLAogCQlyYW5n ZVRMRUV4cHIgPSBtYWtlRnVuY0V4cHIoZnVuY2lkLCBhdHRyLT5hdHR0eXBpZCwgZnVuY0FyZ3Ms CiAJCQkJCQkJCQlJbnZhbGlkT2lkLCBJbnZhbGlkT2lkLCBDT0VSQ0VfRVhQTElDSVRfQ0FMTCk7 CiAKLQkJLyogTWFrZSBhIFRMRSB0byBzZXQgdGhlIHJhbmdlIGNvbHVtbiAqLworCQkvKiBNYWtl IGEgVExFIHRvIHNldCB0aGUgcmFuZ2UgY29sdW1uIG9yIHN0YXJ0L2VuZCBjb2x1bW5zICovCiAJ CXJlc3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gTklMOwotCQl0bGUgPSBtYWtlVGFyZ2V0RW50cnko KEV4cHIgKikgcmFuZ2VUTEVFeHByLCByYW5nZV9hdHRubywgcmFuZ2VfbmFtZSwgZmFsc2UpOwot CQlyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCA9IGxhcHBlbmQocmVzdWx0LT5yYW5nZVRhcmdldExp c3QsIHRsZSk7CiAKLQkJLyogTWFyayB0aGUgcmFuZ2UgY29sdW1uIGFzIHJlcXVpcmluZyB1cGRh dGUgcGVybWlzc2lvbnMgKi8KLQkJdGFyZ2V0X3Blcm1pbmZvLT51cGRhdGVkQ29scyA9IGJtc19h ZGRfbWVtYmVyKHRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMsCi0JCQkJCQkJCQkJCQkJICBy YW5nZV9hdHRubyAtIEZpcnN0TG93SW52YWxpZEhlYXBBdHRyaWJ1dGVOdW1iZXIpOworCQlpZiAo cmVzdWx0LT5zdGFydFZhcikKKwkJeworCQkJRnVuY0V4cHIgICAqYm91bmRUTEVFeHByOworCQkJ T2lkCQkJYXJnX3R5cGVzWzFdID0ge0FOWVJBTkdFT0lEfTsKKwkJCUZ1bmNEZXRhaWxDb2RlIGZk cmVzdWx0OworCQkJT2lkCQkJcmV0dHlwZTsKKwkJCWJvb2wJCXJldHNldDsKKwkJCWludAkJCW52 YXJnczsKKwkJCU9pZAkJCXZhdHlwZTsKKwkJCU9pZAkJICAgKmRlY2xhcmVkX2FyZ190eXBlczsK KwkJCU9pZAkJCWVsZW10eXBpZCA9IGdldF9yYW5nZV9zdWJ0eXBlKGF0dHItPmF0dHR5cGlkKTsK KworCQkJLyogc2V0IHRoZSBzdGFydCBjb2x1bW4gKi8KKwkJCWZkcmVzdWx0ID0gZnVuY19nZXRf ZGV0YWlsKFN5c3RlbUZ1bmNOYW1lKCJsb3dlciIpLCBOSUwsIE5JTCwgMSwKKwkJCQkJCQkJCSAg IGFyZ190eXBlcywKKwkJCQkJCQkJCSAgIGZhbHNlLCBmYWxzZSwgZmFsc2UsICZmZ2NfZmxhZ3Ms CisJCQkJCQkJCQkgICAmZnVuY2lkLCAmcmV0dHlwZSwgJnJldHNldCwKKwkJCQkJCQkJCSAgICZu dmFyZ3MsICZ2YXR5cGUsCisJCQkJCQkJCQkgICAmZGVjbGFyZWRfYXJnX3R5cGVzLCBOVUxMKTsK KwkJCWlmIChmZHJlc3VsdCAhPSBGVU5DREVUQUlMX05PUk1BTCkKKwkJCQllbG9nKEVSUk9SLCAi ZmFpbGVkIHRvIGZpbmQgbG93ZXIoYW55cmFuZ2UpIGZ1bmN0aW9uIik7CisJCQlib3VuZFRMRUV4 cHIgPSBtYWtlRnVuY0V4cHIoZnVuY2lkLAorCQkJCQkJCQkJCWVsZW10eXBpZCwKKwkJCQkJCQkJ CQlsaXN0X21ha2UxKHJhbmdlVExFRXhwciksCisJCQkJCQkJCQkJSW52YWxpZE9pZCwgSW52YWxp ZE9pZCwgQ09FUkNFX0VYUExJQ0lUX0NBTEwpOworCQkJdGxlID0gbWFrZVRhcmdldEVudHJ5KChF eHByICopIGJvdW5kVExFRXhwciwgc3RhcnRfYXR0bm8sIHN0YXJ0Y29sbmFtZSwgZmFsc2UpOwor CQkJcmVzdWx0LT5yYW5nZVRhcmdldExpc3QgPSBsYXBwZW5kKHJlc3VsdC0+cmFuZ2VUYXJnZXRM aXN0LCB0bGUpOworCisJCQkvKiBzZXQgdGhlIGVuZCBjb2x1bW4gKi8KKwkJCWZkcmVzdWx0ID0g ZnVuY19nZXRfZGV0YWlsKFN5c3RlbUZ1bmNOYW1lKCJ1cHBlciIpLCBOSUwsIE5JTCwgMSwKKwkJ CQkJCQkJCSAgIGFyZ190eXBlcywKKwkJCQkJCQkJCSAgIGZhbHNlLCBmYWxzZSwgZmFsc2UsICZm Z2NfZmxhZ3MsCisJCQkJCQkJCQkgICAmZnVuY2lkLCAmcmV0dHlwZSwgJnJldHNldCwKKwkJCQkJ CQkJCSAgICZudmFyZ3MsICZ2YXR5cGUsCisJCQkJCQkJCQkgICAmZGVjbGFyZWRfYXJnX3R5cGVz LCBOVUxMKTsKKwkJCWlmIChmZHJlc3VsdCAhPSBGVU5DREVUQUlMX05PUk1BTCkKKwkJCQllbG9n KEVSUk9SLCAiZmFpbGVkIHRvIGZpbmQgdXBwZXIoYW55cmFuZ2UpIGZ1bmN0aW9uIik7CisJCQli b3VuZFRMRUV4cHIgPSBtYWtlRnVuY0V4cHIoZnVuY2lkLAorCQkJCQkJCQkJCWVsZW10eXBpZCwK KwkJCQkJCQkJCQlsaXN0X21ha2UxKHJhbmdlVExFRXhwciksCisJCQkJCQkJCQkJSW52YWxpZE9p ZCwgSW52YWxpZE9pZCwgQ09FUkNFX0VYUExJQ0lUX0NBTEwpOworCQkJdGxlID0gbWFrZVRhcmdl dEVudHJ5KChFeHByICopIGJvdW5kVExFRXhwciwgZW5kX2F0dG5vLCBlbmRjb2xuYW1lLCBmYWxz ZSk7CisJCQlyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCA9IGxhcHBlbmQocmVzdWx0LT5yYW5nZVRh cmdldExpc3QsIHRsZSk7CisKKwkJCS8qCisJCQkgKiBNYXJrIHRoZSBzdGFydC9lbmQgY29sdW1u cyBhcyByZXF1aXJpbmcgdXBkYXRlIHBlcm1pc3Npb25zLiBBcworCQkJICogdXN1YWwsIHdlIGRv bid0IGNoZWNrIHBlcm1pc3Npb25zIGZvciB0aGUgR0VORVJBVEVEIGNvbHVtbi4KKwkJCSAqLwor CQkJdGFyZ2V0X3Blcm1pbmZvLT51cGRhdGVkQ29scyA9IGJtc19hZGRfbWVtYmVyKHRhcmdldF9w ZXJtaW5mby0+dXBkYXRlZENvbHMsCisJCQkJCQkJCQkJCQkJCSAgc3RhcnRfYXR0bm8gLSBGaXJz dExvd0ludmFsaWRIZWFwQXR0cmlidXRlTnVtYmVyKTsKKwkJCXRhcmdldF9wZXJtaW5mby0+dXBk YXRlZENvbHMgPSBibXNfYWRkX21lbWJlcih0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xzLAor CQkJCQkJCQkJCQkJCQkgIGVuZF9hdHRubyAtIEZpcnN0TG93SW52YWxpZEhlYXBBdHRyaWJ1dGVO dW1iZXIpOworCQl9CisJCWVsc2UKKwkJeworCQkJdGxlID0gbWFrZVRhcmdldEVudHJ5KChFeHBy ICopIHJhbmdlVExFRXhwciwgcmFuZ2VfYXR0bm8sIHJhbmdlX25hbWUsIGZhbHNlKTsKKwkJCXJl c3VsdC0+cmFuZ2VUYXJnZXRMaXN0ID0gbGFwcGVuZChyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCwg dGxlKTsKKworCQkJLyogTWFyayB0aGUgcmFuZ2UgY29sdW1uIGFzIHJlcXVpcmluZyB1cGRhdGUg cGVybWlzc2lvbnMgKi8KKwkJCXRhcmdldF9wZXJtaW5mby0+dXBkYXRlZENvbHMgPSBibXNfYWRk X21lbWJlcih0YXJnZXRfcGVybWluZm8tPnVwZGF0ZWRDb2xzLAorCQkJCQkJCQkJCQkJCQkgIHJh bmdlX2F0dG5vIC0gRmlyc3RMb3dJbnZhbGlkSGVhcEF0dHJpYnV0ZU51bWJlcik7CisJCX0KIAl9 CiAJZWxzZQogCQlyZXN1bHQtPnJhbmdlVGFyZ2V0TGlzdCA9IE5JTDsKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL3BhcnNlci9ncmFtLnkgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CmluZGV4 IDlmYjAzZWI3YzlhLi5kZjYzYTAxZDAzMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2Vy L2dyYW0ueQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC01OTksNyArNTk5LDcg QEAgc3RhdGljIE5vZGUgKm1ha2VSZWN1cnNpdmVWaWV3U2VsZWN0KGNoYXIgKnJlbG5hbWUsIExp c3QgKmFsaWFzZXMsIE5vZGUgKnF1ZXJ5KTsKICV0eXBlIDxrZXl3b3JkPiBjb2xfbmFtZV9rZXl3 b3JkIHJlc2VydmVkX2tleXdvcmQKICV0eXBlIDxrZXl3b3JkPiBiYXJlX2xhYmVsX2tleXdvcmQK IAotJXR5cGUgPG5vZGU+CURvbWFpbkNvbnN0cmFpbnQgVGFibGVDb25zdHJhaW50IFRhYmxlTGlr ZUNsYXVzZQorJXR5cGUgPG5vZGU+CURvbWFpbkNvbnN0cmFpbnQgVGFibGVDb25zdHJhaW50IFRh YmxlTGlrZUNsYXVzZSBUYWJsZVBlcmlvZAogJXR5cGUgPGl2YWw+CVRhYmxlTGlrZU9wdGlvbkxp c3QgVGFibGVMaWtlT3B0aW9uCiAldHlwZSA8c3RyPgkJY29sdW1uX2NvbXByZXNzaW9uIG9wdF9j b2x1bW5fY29tcHJlc3Npb24gY29sdW1uX3N0b3JhZ2Ugb3B0X2NvbHVtbl9zdG9yYWdlCiAldHlw ZSA8bGlzdD4JQ29sUXVhbExpc3QKQEAgLTI2OTIsNiArMjY5MiwyNCBAQCBhbHRlcl90YWJsZV9j bWQ6CiAJCQkJCW4tPmRlZiA9IChOb2RlICopICQ0OwogCQkJCQkkJCA9IChOb2RlICopIG47CiAJ CQkJfQorCQkJLyogQUxURVIgVEFCTEUgPG5hbWU+IEFERCBQRVJJT0QgRk9SIDxuYW1lPiAoPG5h bWU+LCA8bmFtZT4pICovCisJCQl8IEFERF9QIFRhYmxlUGVyaW9kCisJCQkJeworCQkJCQlBbHRl clRhYmxlQ21kICpuID0gbWFrZU5vZGUoQWx0ZXJUYWJsZUNtZCk7CisJCQkJCW4tPnN1YnR5cGUg PSBBVF9BZGRQZXJpb2Q7CisJCQkJCW4tPmRlZiA9ICQyOworCQkJCQkkJCA9IChOb2RlICopbjsK KwkJCQl9CisJCQkvKiBBTFRFUiBUQUJMRSA8bmFtZT4gRFJPUCBQRVJJT0QgRk9SIDxuYW1lPiBb UkVTVFJJQ1R8Q0FTQ0FERV0gKi8KKwkJCXwgRFJPUCBQRVJJT0QgRk9SIG5hbWUgb3B0X2Ryb3Bf YmVoYXZpb3IKKwkJCQl7CisJCQkJCUFsdGVyVGFibGVDbWQgKm4gPSBtYWtlTm9kZShBbHRlclRh YmxlQ21kKTsKKwkJCQkJbi0+c3VidHlwZSA9IEFUX0Ryb3BQZXJpb2Q7CisJCQkJCW4tPm5hbWUg PSAkNDsKKwkJCQkJbi0+YmVoYXZpb3IgPSAkNTsKKwkJCQkJbi0+bWlzc2luZ19vayA9IGZhbHNl OworCQkJCQkkJCA9IChOb2RlICopbjsKKwkJCQl9CiAJCQkvKiBBTFRFUiBUQUJMRSA8bmFtZT4g QUREIENPTlNUUkFJTlQgLi4uICovCiAJCQl8IEFERF9QIFRhYmxlQ29uc3RyYWludAogCQkJCXsK QEAgLTM4NTQsOCArMzg3MiwxMCBAQCBUYWJsZUVsZW1lbnQ6CiAJCQljb2x1bW5EZWYJCQkJCQkJ eyAkJCA9ICQxOyB9CiAJCQl8IFRhYmxlTGlrZUNsYXVzZQkJCQkJeyAkJCA9ICQxOyB9CiAJCQl8 IFRhYmxlQ29uc3RyYWludAkJCQkJeyAkJCA9ICQxOyB9CisJCQl8IFRhYmxlUGVyaW9kCQkJCQkJ eyAkJCA9ICQxOyB9CiAJCTsKIAorCiBUeXBlZFRhYmxlRWxlbWVudDoKIAkJCWNvbHVtbk9wdGlv bnMJCQkJCQl7ICQkID0gJDE7IH0KIAkJCXwgVGFibGVDb25zdHJhaW50CQkJCQl7ICQkID0gJDE7 IH0KQEAgLTQyMzMsNiArNDI1MywxOSBAQCBUYWJsZUxpa2VPcHRpb246CiAJCTsKIAogCitUYWJs ZVBlcmlvZDoKKwkJCVBFUklPRCBGT1IgbmFtZSAnKCcgbmFtZSAnLCcgbmFtZSAnKScgb3B0X2Rl ZmluaXRpb24KKwkJCQl7CisJCQkJCVBlcmlvZERlZiAqbiA9IG1ha2VOb2RlKFBlcmlvZERlZik7 CisJCQkJCW4tPnBlcmlvZG5hbWUgPSAkMzsKKwkJCQkJbi0+c3RhcnRjb2xuYW1lID0gJDU7CisJ CQkJCW4tPmVuZGNvbG5hbWUgPSAkNzsKKwkJCQkJbi0+b3B0aW9ucyA9ICQ5OworCQkJCQluLT5s b2NhdGlvbiA9IEAxOworCQkJCQkkJCA9IChOb2RlICopIG47CisJCQkJfQorCQk7CisKIC8qIENv bnN0cmFpbnRFbGVtIHNwZWNpZmllcyBjb25zdHJhaW50IHN5bnRheCB3aGljaCBpcyBub3QgZW1i ZWRkZWQgaW50bwogICoJYSBjb2x1bW4gZGVmaW5pdGlvbi4gQ29sQ29uc3RyYWludEVsZW0gc3Bl Y2lmaWVzIHRoZSBlbWJlZGRlZCBmb3JtLgogICogLSB0aG9tYXMgMTk5Ny0xMi0wMwpAQCAtNzM2 Nyw2ICs3NDAwLDE0IEBAIENvbW1lbnRTdG10OgogCQkJCQluLT5jb21tZW50ID0gJDk7CiAJCQkJ CSQkID0gKE5vZGUgKikgbjsKIAkJCQl9CisJCQl8IENPTU1FTlQgT04gUEVSSU9EIGFueV9uYW1l IElTIGNvbW1lbnRfdGV4dAorCQkJCXsKKwkJCQkJQ29tbWVudFN0bXQgKm4gPSBtYWtlTm9kZShD b21tZW50U3RtdCk7CisJCQkJCW4tPm9ianR5cGUgPSBPQkpFQ1RfUEVSSU9EOworCQkJCQluLT5v YmplY3QgPSAoTm9kZSAqKSAkNDsKKwkJCQkJbi0+Y29tbWVudCA9ICQ2OworCQkJCQkkJCA9IChO b2RlICopIG47CisJCQkJfQogCQkJfCBDT01NRU5UIE9OIExBUkdFX1AgT0JKRUNUX1AgTnVtZXJp Y09ubHkgSVMgY29tbWVudF90ZXh0CiAJCQkJewogCQkJCQlDb21tZW50U3RtdCAqbiA9IG1ha2VO b2RlKENvbW1lbnRTdG10KTsKQEAgLTE4MDc3LDcgKzE4MTE4LDYgQEAgdW5yZXNlcnZlZF9rZXl3 b3JkOgogCQkJfCBQQVNTSU5HCiAJCQl8IFBBU1NXT1JECiAJCQl8IFBBVEgKLQkJCXwgUEVSSU9E CiAJCQl8IFBMQU4KIAkJCXwgUExBTlMKIAkJCXwgUE9MSUNZCkBAIC0xODM4Myw2ICsxODQyMyw3 IEBAIHJlc2VydmVkX2tleXdvcmQ6CiAJCQl8IE9OTFkKIAkJCXwgT1IKIAkJCXwgT1JERVIKKwkJ CXwgUEVSSU9ECiAJCQl8IFBMQUNJTkcKIAkJCXwgUFJJTUFSWQogCQkJfCBSRUZFUkVOQ0VTCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfcmVsYXRpb24uYyBiL3NyYy9iYWNr ZW5kL3BhcnNlci9wYXJzZV9yZWxhdGlvbi5jCmluZGV4IDA0ZWNmNjRiMWZjLi45Yjg5Yzk2Nzg3 NSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3JlbGF0aW9uLmMKKysrIGIv c3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3JlbGF0aW9uLmMKQEAgLTIyLDYgKzIyLDcgQEAKICNp bmNsdWRlICJhY2Nlc3MvdGFibGUuaCIKICNpbmNsdWRlICJjYXRhbG9nL2hlYXAuaCIKICNpbmNs dWRlICJjYXRhbG9nL25hbWVzcGFjZS5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgi CiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5jbHVkZSAiZnVuY2FwaS5oIgogI2lu Y2x1ZGUgIm5vZGVzL21ha2VmdW5jcy5oIgpAQCAtMzI5Myw2ICszMjk0LDcgQEAgZXhwYW5kTlNJ dGVtQXR0cnMoUGFyc2VTdGF0ZSAqcHN0YXRlLCBQYXJzZU5hbWVzcGFjZUl0ZW0gKm5zaXRlbSwK IAkJCQkgIGludCBzdWJsZXZlbHNfdXAsIGJvb2wgcmVxdWlyZV9jb2xfcHJpdnMsIGludCBsb2Nh dGlvbikKIHsKIAlSYW5nZVRibEVudHJ5ICpydGUgPSBuc2l0ZW0tPnBfcnRlOworCUJpdG1hcHNl dCAgKnBlcmlvZGF0dHMgPSBOVUxMOwogCVJURVBlcm1pc3Npb25JbmZvICpwZXJtaW5mbyA9IG5z aXRlbS0+cF9wZXJtaW5mbzsKIAlMaXN0CSAgICpuYW1lcywKIAkJCSAgICp2YXJzOwpAQCAtMzMx NiwxMiArMzMxOCwyMCBAQCBleHBhbmROU0l0ZW1BdHRycyhQYXJzZVN0YXRlICpwc3RhdGUsIFBh cnNlTmFtZXNwYWNlSXRlbSAqbnNpdGVtLAogCQlwZXJtaW5mby0+cmVxdWlyZWRQZXJtcyB8PSBB Q0xfU0VMRUNUOwogCX0KIAorCS8qIEdldCBQRVJJT0QgY29sdW1ucyB0byBleGNsdWRlICovCisJ aWYgKHJ0ZS0+cnRla2luZCA9PSBSVEVfUkVMQVRJT04pCisJCXBlcmlvZGF0dHMgPSBnZXRfcGVy aW9kX2F0dG5vcyhydGUtPnJlbGlkKTsKKwogCWZvcmJvdGgobmFtZSwgbmFtZXMsIHZhciwgdmFy cykKIAl7CiAJCWNoYXIJICAgKmxhYmVsID0gc3RyVmFsKGxmaXJzdChuYW1lKSk7CiAJCVZhcgkJ ICAgKnZhcm5vZGUgPSAoVmFyICopIGxmaXJzdCh2YXIpOwogCQlUYXJnZXRFbnRyeSAqdGU7CiAK KwkJLyogSWYgdGhpcyBjb2x1bW4gaXMgZnJvbSBhIFBFUklPRCwgc2tpcCBpdCAqLworCQlpZiAo Ym1zX2lzX21lbWJlcih2YXJub2RlLT52YXJhdHRubywgcGVyaW9kYXR0cykpCisJCQljb250aW51 ZTsKKwogCQl0ZSA9IG1ha2VUYXJnZXRFbnRyeSgoRXhwciAqKSB2YXJub2RlLAogCQkJCQkJCSAo QXR0ck51bWJlcikgcHN0YXRlLT5wX25leHRfcmVzbm8rKywKIAkJCQkJCQkgbGFiZWwsCmRpZmYg LS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jIGIvc3JjL2JhY2tlbmQv cGFyc2VyL3BhcnNlX3V0aWxjbWQuYwppbmRleCBlOTZiMzhhNTlkNS4uNjdlMzZhYzEzODMgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3JjL2Jh Y2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYwpAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUg ImNhdGFsb2cvcGdfY29uc3RyYWludC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BjbGFzcy5o IgogI2luY2x1ZGUgImNhdGFsb2cvcGdfb3BlcmF0b3IuaCIKKyNpbmNsdWRlICJjYXRhbG9nL3Bn X3BlcmlvZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfc3RhdGlzdGljX2V4dC5oIgogI2luY2x1 ZGUgImNhdGFsb2cvcGdfdHlwZS5oIgogI2luY2x1ZGUgImNvbW1hbmRzL2NvbW1lbnQuaCIKQEAg LTgwLDYgKzgxLDcgQEAgdHlwZWRlZiBzdHJ1Y3QKIAlib29sCQlpc2ZvcmVpZ247CQkvKiB0cnVl IGlmIENSRUFURS9BTFRFUiBGT1JFSUdOIFRBQkxFICovCiAJYm9vbAkJaXNhbHRlcjsJCS8qIHRy dWUgaWYgYWx0ZXJpbmcgZXhpc3RpbmcgdGFibGUgKi8KIAlMaXN0CSAgICpjb2x1bW5zOwkJLyog Q29sdW1uRGVmIGl0ZW1zICovCisJTGlzdAkgICAqcGVyaW9kczsJCS8qIFBlcmlvZERlZiBpdGVt cyAqLwogCUxpc3QJICAgKmNrY29uc3RyYWludHM7CS8qIENIRUNLIGNvbnN0cmFpbnRzICovCiAJ TGlzdAkgICAqbm5jb25zdHJhaW50czsJLyogTk9UIE5VTEwgY29uc3RyYWludHMgKi8KIAlMaXN0 CSAgICpma2NvbnN0cmFpbnRzOwkvKiBGT1JFSUdOIEtFWSBjb25zdHJhaW50cyAqLwpAQCAtMTEw LDYgKzExMiw4IEBAIHR5cGVkZWYgc3RydWN0CiAKIHN0YXRpYyB2b2lkIHRyYW5zZm9ybUNvbHVt bkRlZmluaXRpb24oQ3JlYXRlU3RtdENvbnRleHQgKmN4dCwKIAkJCQkJCQkJCSAgQ29sdW1uRGVm ICpjb2x1bW4pOworc3RhdGljIHZvaWQgdHJhbnNmb3JtVGFibGVQZXJpb2QoQ3JlYXRlU3RtdENv bnRleHQgKmN4dCwKKwkJCQkJCQkJIFBlcmlvZERlZiAqcGVyaW9kKTsKIHN0YXRpYyB2b2lkIHRy YW5zZm9ybVRhYmxlQ29uc3RyYWludChDcmVhdGVTdG10Q29udGV4dCAqY3h0LAogCQkJCQkJCQkJ IENvbnN0cmFpbnQgKmNvbnN0cmFpbnQpOwogc3RhdGljIHZvaWQgdHJhbnNmb3JtVGFibGVMaWtl Q2xhdXNlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsCkBAIC0yNDAsNiArMjQ0LDcgQEAgdHJhbnNm b3JtQ3JlYXRlU3RtdChDcmVhdGVTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykK IAljeHQuaW5oUmVsYXRpb25zID0gc3RtdC0+aW5oUmVsYXRpb25zOwogCWN4dC5pc2FsdGVyID0g ZmFsc2U7CiAJY3h0LmNvbHVtbnMgPSBOSUw7CisJY3h0LnBlcmlvZHMgPSBOSUw7CiAJY3h0LmNr Y29uc3RyYWludHMgPSBOSUw7CiAJY3h0Lm5uY29uc3RyYWludHMgPSBOSUw7CiAJY3h0LmZrY29u c3RyYWludHMgPSBOSUw7CkBAIC0yNzksNiArMjg0LDEwIEBAIHRyYW5zZm9ybUNyZWF0ZVN0bXQo Q3JlYXRlU3RtdCAqc3RtdCwgY29uc3QgY2hhciAqcXVlcnlTdHJpbmcpCiAJCQkJdHJhbnNmb3Jt Q29sdW1uRGVmaW5pdGlvbigmY3h0LCAoQ29sdW1uRGVmICopIGVsZW1lbnQpOwogCQkJCWJyZWFr OwogCisJCQljYXNlIFRfUGVyaW9kRGVmOgorCQkJCXRyYW5zZm9ybVRhYmxlUGVyaW9kKCZjeHQs IChQZXJpb2REZWYgKikgZWxlbWVudCk7CisJCQkJYnJlYWs7CisKIAkJCWNhc2UgVF9Db25zdHJh aW50OgogCQkJCXRyYW5zZm9ybVRhYmxlQ29uc3RyYWludCgmY3h0LCAoQ29uc3RyYWludCAqKSBl bGVtZW50KTsKIAkJCQlicmVhazsKQEAgLTM2Nyw2ICszNzYsNyBAQCB0cmFuc2Zvcm1DcmVhdGVT dG10KENyZWF0ZVN0bXQgKnN0bXQsIGNvbnN0IGNoYXIgKnF1ZXJ5U3RyaW5nKQogCSAqIE91dHB1 dCByZXN1bHRzLgogCSAqLwogCXN0bXQtPnRhYmxlRWx0cyA9IGN4dC5jb2x1bW5zOworCXN0bXQt PnBlcmlvZHMgPSBjeHQucGVyaW9kczsKIAlzdG10LT5jb25zdHJhaW50cyA9IGN4dC5ja2NvbnN0 cmFpbnRzOwogCXN0bXQtPm5uY29uc3RyYWludHMgPSBjeHQubm5jb25zdHJhaW50czsKIApAQCAt MTAyNyw2ICsxMDM3LDkyIEBAIHRyYW5zZm9ybUNvbHVtbkRlZmluaXRpb24oQ3JlYXRlU3RtdENv bnRleHQgKmN4dCwgQ29sdW1uRGVmICpjb2x1bW4pCiAJfQogfQogCit2b2lkCit0cmFuc2Zvcm1Q ZXJpb2RPcHRpb25zKFBlcmlvZERlZiAqcGVyaW9kKQoreworCUxpc3RDZWxsICAgKm9wdGlvbjsK KwlEZWZFbGVtICAgICpkY29uc3RyYWludG5hbWUgPSBOVUxMOworCURlZkVsZW0gICAgKmRyYW5n ZXR5cGVuYW1lID0gTlVMTDsKKwlEZWZFbGVtICAgICpkY29sZXhpc3RzID0gTlVMTDsKKworCWZv cmVhY2gob3B0aW9uLCBwZXJpb2QtPm9wdGlvbnMpCisJeworCQlEZWZFbGVtICAgICpkZWZlbCA9 IChEZWZFbGVtICopIGxmaXJzdChvcHRpb24pOworCisJCWlmIChzdHJjbXAoZGVmZWwtPmRlZm5h bWUsICJjaGVja19jb25zdHJhaW50X25hbWUiKSA9PSAwKQorCQl7CisJCQlpZiAoZGNvbnN0cmFp bnRuYW1lKQorCQkJCWVyZXBvcnQoRVJST1IsCisJCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRB WF9FUlJPUiksCisJCQkJCQkgZXJybXNnKCJjb25mbGljdGluZyBvciByZWR1bmRhbnQgb3B0aW9u cyIpKSk7CisJCQlkY29uc3RyYWludG5hbWUgPSBkZWZlbDsKKwkJfQorCQllbHNlIGlmIChzdHJj bXAoZGVmZWwtPmRlZm5hbWUsICJyYW5nZXR5cGUiKSA9PSAwKQorCQl7CisJCQlpZiAoZHJhbmdl dHlwZW5hbWUpCisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lO VEFYX0VSUk9SKSwKKwkJCQkJCSBlcnJtc2coImNvbmZsaWN0aW5nIG9yIHJlZHVuZGFudCBvcHRp b25zIikpKTsKKwkJCWRyYW5nZXR5cGVuYW1lID0gZGVmZWw7CisJCX0KKwkJZWxzZSBpZiAoc3Ry Y21wKGRlZmVsLT5kZWZuYW1lLCAiY29sZXhpc3RzIikgPT0gMCkKKwkJeworCQkJaWYgKGRjb2xl eGlzdHMpCisJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJCShlcnJjb2RlKEVSUkNPREVfU1lOVEFY X0VSUk9SKSwKKwkJCQkJCSBlcnJtc2coImNvbmZsaWN0aW5nIG9yIHJlZHVuZGFudCBvcHRpb25z IikpKTsKKwkJCWRjb2xleGlzdHMgPSBkZWZlbDsKKwkJfQorCQllbHNlCisJCQllcmVwb3J0KEVS Uk9SLAorCQkJCQkoZXJyY29kZShFUlJDT0RFX1NZTlRBWF9FUlJPUiksCisJCQkJCSBlcnJtc2co Im9wdGlvbiBcIiVzXCIgbm90IHJlY29nbml6ZWQiLCBkZWZlbC0+ZGVmbmFtZSkpKTsKKwl9CisK KwlpZiAoZGNvbnN0cmFpbnRuYW1lICE9IE5VTEwpCisJCXBlcmlvZC0+Y29uc3RyYWludG5hbWUg PSBkZWZHZXRTdHJpbmcoZGNvbnN0cmFpbnRuYW1lKTsKKwllbHNlCisJCXBlcmlvZC0+Y29uc3Ry YWludG5hbWUgPSBOVUxMOworCisJaWYgKGRyYW5nZXR5cGVuYW1lICE9IE5VTEwpCisJCXBlcmlv ZC0+cmFuZ2V0eXBlbmFtZSA9IGRlZkdldFN0cmluZyhkcmFuZ2V0eXBlbmFtZSk7CisJZWxzZQor CQlwZXJpb2QtPnJhbmdldHlwZW5hbWUgPSBOVUxMOworCisJaWYgKGRjb2xleGlzdHMgIT0gTlVM TCkKKwkJcGVyaW9kLT5jb2xleGlzdHMgPSBkZWZHZXRCb29sZWFuKGRjb2xleGlzdHMpOworCWVs c2UKKwkJcGVyaW9kLT5jb2xleGlzdHMgPSBmYWxzZTsKK30KKworLyoKKyAqIHRyYW5zZm9ybVRh YmxlUGVyaW9kCisgKgkJdHJhbnNmb3JtIGEgUGVyaW9kRGVmIG5vZGUgd2l0aGluIENSRUFURSBU QUJMRQorICovCitzdGF0aWMgdm9pZAordHJhbnNmb3JtVGFibGVQZXJpb2QoQ3JlYXRlU3RtdENv bnRleHQgKmN4dCwgUGVyaW9kRGVmICpwZXJpb2QpCit7CisJaWYgKHN0cmNtcChwZXJpb2QtPnBl cmlvZG5hbWUsICJzeXN0ZW1fdGltZSIpID09IDApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVy cmNvZGUoRVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLAorCQkJCSBlcnJtc2coIlBFUklP RCBGT1IgU1lTVEVNX1RJTUUgaXMgbm90IHN1cHBvcnRlZCIpLAorCQkJCSBwYXJzZXJfZXJycG9z aXRpb24oY3h0LT5wc3RhdGUsCisJCQkJCQkJCQlwZXJpb2QtPmxvY2F0aW9uKSkpOworCisJaWYg KHN0cmNtcChwZXJpb2QtPnN0YXJ0Y29sbmFtZSwgcGVyaW9kLT5lbmRjb2xuYW1lKSA9PSAwKQor CQllcmVwb3J0KEVSUk9SLCAoZXJybXNnKCJjb2x1bW4gXCIlc1wiIGNhbid0IGJlIHRoZSBzdGFy dCBhbmQgZW5kIGNvbHVtbiBmb3IgcGVyaW9kIFwiJXNcIiIsCisJCQkJCQkJICAgcGVyaW9kLT5z dGFydGNvbG5hbWUsIHBlcmlvZC0+cGVyaW9kbmFtZSkpKTsKKworCS8qCisJICogRGV0ZXJtaW5l IHRoZSBjb2x1bW4gaW5mbyBhbmQgcmFuZ2UgdHlwZSBzbyB0aGF0CisJICogdHJhbnNmb3JtSW5k ZXhDb25zdHJhaW50cyBrbm93cyBob3cgdG8gY3JlYXRlIFBSSU1BUlkgS0VZL1VOSVFVRQorCSAq IGNvbnN0cmFpbnRzIHVzaW5nIHRoaXMgUEVSSU9ELgorCSAqLworCXRyYW5zZm9ybVBlcmlvZE9w dGlvbnMocGVyaW9kKTsKKworCWN4dC0+cGVyaW9kcyA9IGxhcHBlbmQoY3h0LT5wZXJpb2RzLCBw ZXJpb2QpOworfQorCiAvKgogICogdHJhbnNmb3JtVGFibGVDb25zdHJhaW50CiAgKgkJdHJhbnNm b3JtIGEgQ29uc3RyYWludCBub2RlIHdpdGhpbiBDUkVBVEUgVEFCTEUgb3IgQUxURVIgVEFCTEUK QEAgLTExMjgsNiArMTIyNCw3IEBAIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVzZShDcmVhdGVTdG10 Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xhCiAJQXR0ck51bWJl cglwYXJlbnRfYXR0bm87CiAJUmVsYXRpb24JcmVsYXRpb247CiAJVHVwbGVEZXNjCXR1cGxlRGVz YzsKKwlCaXRtYXBzZXQgICpwZXJpb2RhdHRzOwogCUFjbFJlc3VsdAlhY2xyZXN1bHQ7CiAJY2hh cgkgICAqY29tbWVudDsKIAlQYXJzZUNhbGxiYWNrU3RhdGUgcGNic3RhdGU7CkBAIC0xMTczLDYg KzEyNzAsNyBAQCB0cmFuc2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENvbnRleHQgKmN4 dCwgVGFibGVMaWtlQ2xhdXNlICp0YWJsZV9saWtlX2NsYQogCX0KIAogCXR1cGxlRGVzYyA9IFJl bGF0aW9uR2V0RGVzY3IocmVsYXRpb24pOworCXBlcmlvZGF0dHMgPSBnZXRfcGVyaW9kX2F0dG5v cyhSZWxhdGlvbkdldFJlbGlkKHJlbGF0aW9uKSk7CiAKIAkvKgogCSAqIEluc2VydCB0aGUgY29w aWVkIGF0dHJpYnV0ZXMgaW50byB0aGUgY3h0IGZvciB0aGUgbmV3IHRhYmxlIGRlZmluaXRpb24u CkBAIC0xMTgyLDEwICsxMjgwLDE4IEBAIHRyYW5zZm9ybVRhYmxlTGlrZUNsYXVzZShDcmVhdGVT dG10Q29udGV4dCAqY3h0LCBUYWJsZUxpa2VDbGF1c2UgKnRhYmxlX2xpa2VfY2xhCiAJZm9yIChw YXJlbnRfYXR0bm8gPSAxOyBwYXJlbnRfYXR0bm8gPD0gdHVwbGVEZXNjLT5uYXR0czsKIAkJIHBh cmVudF9hdHRubysrKQogCXsKLQkJRm9ybV9wZ19hdHRyaWJ1dGUgYXR0cmlidXRlID0gVHVwbGVE ZXNjQXR0cih0dXBsZURlc2MsCi0JCQkJCQkJCQkJCQkJcGFyZW50X2F0dG5vIC0gMSk7CisJCUZv cm1fcGdfYXR0cmlidXRlIGF0dHJpYnV0ZTsKIAkJQ29sdW1uRGVmICAqZGVmOwogCisJCS8qCisJ CSAqIElmIHRoaXMgY29sdW1uIGlzIGZyb20gYSBQRVJJT0QsIHNraXAgaXQgKHNpbmNlIExJS0Ug bmV2ZXIgY29waWVzCisJCSAqIFBFUklPRHMpLgorCQkgKi8KKwkJaWYgKGJtc19pc19tZW1iZXIo cGFyZW50X2F0dG5vLCBwZXJpb2RhdHRzKSkKKwkJCWNvbnRpbnVlOworCisJCWF0dHJpYnV0ZSA9 IFR1cGxlRGVzY0F0dHIodHVwbGVEZXNjLCBwYXJlbnRfYXR0bm8gLSAxKTsKKwogCQkvKgogCQkg KiBJZ25vcmUgZHJvcHBlZCBjb2x1bW5zIGluIHRoZSBwYXJlbnQuCiAJCSAqLwpAQCAtMTI3MSwx MyArMTM3NywxNiBAQCB0cmFuc2Zvcm1UYWJsZUxpa2VDbGF1c2UoQ3JlYXRlU3RtdENvbnRleHQg KmN4dCwgVGFibGVMaWtlQ2xhdXNlICp0YWJsZV9saWtlX2NsYQogCS8qCiAJICogUmVwcm9kdWNl IG5vdC1udWxsIGNvbnN0cmFpbnRzLCBpZiBhbnksIGJ5IGNvcHlpbmcgdGhlbS4gIFdlIGRvIHRo aXMKIAkgKiByZWdhcmRsZXNzIG9mIG9wdGlvbnMgZ2l2ZW4uCisJICoKKwkgKiBTaW5jZSB3ZSBz a2lwcGVkIFBFUklPRHMnIEdFTkVSQVRFRCBjb2x1bW5zIGFib3ZlLCB3ZSBtdXN0IHNraXAgdGhl aXIKKwkgKiBub3QtbnVsbCBjb25zdHJhaW50cyBoZXJlLgogCSAqLwogCWlmICh0dXBsZURlc2Mt PmNvbnN0ciAmJiB0dXBsZURlc2MtPmNvbnN0ci0+aGFzX25vdF9udWxsKQogCXsKIAkJTGlzdAkg ICAqbHN0OwogCiAJCWxzdCA9IFJlbGF0aW9uR2V0Tm90TnVsbENvbnN0cmFpbnRzKFJlbGF0aW9u R2V0UmVsaWQocmVsYXRpb24pLCBmYWxzZSwKLQkJCQkJCQkJCQkJdHJ1ZSk7CisJCQkJCQkJCQkJ CXRydWUsIHBlcmlvZGF0dHMpOwogCQljeHQtPm5uY29uc3RyYWludHMgPSBsaXN0X2NvbmNhdChj eHQtPm5uY29uc3RyYWludHMsIGxzdCk7CiAKIAkJLyogQ29weSBjb21tZW50cyBvbiBub3QtbnVs bCBjb25zdHJhaW50cyAqLwpAQCAtMjYwOSw2ICsyNzE4LDcgQEAgdHJhbnNmb3JtSW5kZXhDb25z dHJhaW50KENvbnN0cmFpbnQgKmNvbnN0cmFpbnQsIENyZWF0ZVN0bXRDb250ZXh0ICpjeHQpCiAJ CXsKIAkJCWNoYXIJICAgKmtleSA9IHN0clZhbChsZmlyc3QobGMpKTsKIAkJCWJvb2wJCWZvdW5k ID0gZmFsc2U7CisJCQlib29sCQloYXNwZXJpb2QgPSBmYWxzZTsKIAkJCUNvbHVtbkRlZiAgKmNv bHVtbiA9IE5VTEw7CiAJCQlMaXN0Q2VsbCAgICpjb2x1bW5zOwogCQkJSW5kZXhFbGVtICAqaXBh cmFtOwpAQCAtMjYyNyw2ICsyNzM3LDI0IEBAIHRyYW5zZm9ybUluZGV4Q29uc3RyYWludChDb25z dHJhaW50ICpjb25zdHJhaW50LCBDcmVhdGVTdG10Q29udGV4dCAqY3h0KQogCQkJaWYgKCFmb3Vu ZCkKIAkJCQljb2x1bW4gPSBOVUxMOwogCisJCQkvKiBJZiB0aGUga2V5IGlzIFdJVEhPVVQgT1ZF UkxBUFMsIGEgUEVSSU9EIHdpbGwgd29yayB0b28uICovCisJCQlpZiAoIWZvdW5kICYmIGNvbnN0 cmFpbnQtPndpdGhvdXRfb3ZlcmxhcHMgJiYKKwkJCQlsYyA9PSBsaXN0X2xhc3RfY2VsbChjb25z dHJhaW50LT5rZXlzKSkKKwkJCXsKKwkJCQlQZXJpb2REZWYgICpwZXJpb2QgPSBOVUxMOworCisJ CQkJZm9yZWFjaChjb2x1bW5zLCBjeHQtPnBlcmlvZHMpCisJCQkJeworCQkJCQlwZXJpb2QgPSBs Zmlyc3Rfbm9kZShQZXJpb2REZWYsIGNvbHVtbnMpOworCQkJCQlpZiAoc3RyY21wKHBlcmlvZC0+ cGVyaW9kbmFtZSwga2V5KSA9PSAwKQorCQkJCQl7CisJCQkJCQlmb3VuZCA9IHRydWU7CisJCQkJ CQloYXNwZXJpb2QgPSB0cnVlOworCQkJCQkJYnJlYWs7CisJCQkJCX0KKwkJCQl9CisJCQl9CisK IAkJCWlmIChmb3VuZCkKIAkJCXsKIAkJCQkvKgpAQCAtMjY0MywyNCArMjc3MSwzNyBAQCB0cmFu c2Zvcm1JbmRleENvbnN0cmFpbnQoQ29uc3RyYWludCAqY29uc3RyYWludCwgQ3JlYXRlU3RtdENv bnRleHQgKmN4dCkKIAkJCQlpZiAoY29uc3RyYWludC0+Y29udHlwZSA9PSBDT05TVFJfUFJJTUFS WSAmJgogCQkJCQkhY3h0LT5pc2FsdGVyKQogCQkJCXsKLQkJCQkJaWYgKGNvbHVtbi0+aXNfbm90 X251bGwpCisJCQkJCWlmIChjb2x1bW4pCiAJCQkJCXsKLQkJCQkJCWZvcmVhY2hfbm9kZShDb25z dHJhaW50LCBubiwgY3h0LT5ubmNvbnN0cmFpbnRzKQorCQkJCQkJaWYgKGNvbHVtbi0+aXNfbm90 X251bGwpCiAJCQkJCQl7Ci0JCQkJCQkJaWYgKHN0cmNtcChzdHJWYWwobGluaXRpYWwobm4tPmtl eXMpKSwga2V5KSA9PSAwKQorCQkJCQkJCWZvcmVhY2hfbm9kZShDb25zdHJhaW50LCBubiwgY3h0 LT5ubmNvbnN0cmFpbnRzKQogCQkJCQkJCXsKLQkJCQkJCQkJaWYgKG5uLT5pc19ub19pbmhlcml0 KQotCQkJCQkJCQkJZXJlcG9ydChFUlJPUiwKLQkJCQkJCQkJCQkJZXJyY29kZShFUlJDT0RFX1NZ TlRBWF9FUlJPUiksCi0JCQkJCQkJCQkJCWVycm1zZygiY29uZmxpY3RpbmcgTk8gSU5IRVJJVCBk ZWNsYXJhdGlvbiBmb3Igbm90LW51bGwgY29uc3RyYWludCBvbiBjb2x1bW4gXCIlc1wiIiwKLQkJ CQkJCQkJCQkJCSAgIGtleSkpOwotCQkJCQkJCQlicmVhazsKKwkJCQkJCQkJaWYgKHN0cmNtcChz dHJWYWwobGluaXRpYWwobm4tPmtleXMpKSwga2V5KSA9PSAwKQorCQkJCQkJCQl7CisJCQkJCQkJ CQlpZiAobm4tPmlzX25vX2luaGVyaXQpCisJCQkJCQkJCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJ CQkJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAorCQkJCQkJCQkJCQkJZXJybXNn KCJjb25mbGljdGluZyBOTyBJTkhFUklUIGRlY2xhcmF0aW9uIGZvciBub3QtbnVsbCBjb25zdHJh aW50IG9uIGNvbHVtbiBcIiVzXCIiLAorCQkJCQkJCQkJCQkJCSAgIGtleSkpOworCQkJCQkJCQkJ YnJlYWs7CisJCQkJCQkJCX0KIAkJCQkJCQl9CiAJCQkJCQl9CisJCQkJCQllbHNlCisJCQkJCQl7 CisJCQkJCQkJY29sdW1uLT5pc19ub3RfbnVsbCA9IHRydWU7CisJCQkJCQkJY3h0LT5ubmNvbnN0 cmFpbnRzID0KKwkJCQkJCQkJbGFwcGVuZChjeHQtPm5uY29uc3RyYWludHMsCisJCQkJCQkJCQkJ bWFrZU5vdE51bGxDb25zdHJhaW50KG1ha2VTdHJpbmcoa2V5KSkpOworCQkJCQkJfQogCQkJCQl9 Ci0JCQkJCWVsc2UKKwkJCQkJZWxzZSBpZiAoaGFzcGVyaW9kKQogCQkJCQl7Ci0JCQkJCQljb2x1 bW4tPmlzX25vdF9udWxsID0gdHJ1ZTsKKwkJCQkJCS8qCisJCQkJCQkgKiBJZiB3ZSdyZSB1c2lu ZyBhIFBFUklPRCwgd2UgYmV0dGVyIG1ha2Ugc3VyZSBpdCBpcworCQkJCQkJICogTk9UIE5VTEwK KwkJCQkJCSAqLwogCQkJCQkJY3h0LT5ubmNvbnN0cmFpbnRzID0KIAkJCQkJCQlsYXBwZW5kKGN4 dC0+bm5jb25zdHJhaW50cywKIAkJCQkJCQkJCW1ha2VOb3ROdWxsQ29uc3RyYWludChtYWtlU3Ry aW5nKGtleSkpKTsKQEAgLTI3ODcsNyArMjkyOCwxMyBAQCB0cmFuc2Zvcm1JbmRleENvbnN0cmFp bnQoQ29uc3RyYWludCAqY29uc3RyYWludCwgQ3JlYXRlU3RtdENvbnRleHQgKmN4dCkKIAkJCQkJ CX0KIAkJCQkJfQogCQkJCX0KLQkJCQlpZiAoZm91bmQpCisKKwkJCQkvKgorCQkJCSAqIEluIENS RUFURSBUQUJMRSB3ZSBkb24ndCBrbm93IFBFUklPRHMnIHJhbmdldHlwZSB5ZXQsIGJ1dAorCQkJ CSAqIHdlIGtub3cgaXQgd2lsbCBiZSBhIHJhbmdlL211bHRpcmFuZ2UuIFNvIGlmIHdlIGhhdmUg YQorCQkJCSAqIFBFUklPRCB0aGVuIHdlJ3JlIHNhZmUuCisJCQkJICovCisJCQkJaWYgKGZvdW5k ICYmICFoYXNwZXJpb2QpCiAJCQkJewogCQkJCQlpZiAoIU9pZElzVmFsaWQodHlwaWQpICYmIGNv bHVtbikKIAkJCQkJCXR5cGlkID0gdHlwZW5hbWVUeXBlSWQoTlVMTCwgY29sdW1uLT50eXBlTmFt ZSk7CkBAIC0zMTEzLDYgKzMyNjAsMTAgQEAgdHJhbnNmb3JtSW5kZXhTdG10KE9pZCByZWxpZCwg SW5kZXhTdG10ICpzdG10LCBjb25zdCBjaGFyICpxdWVyeVN0cmluZykKIAkJfQogCX0KIAorCS8q IHRha2UgY2FyZSBvZiB0aGUgcGVyaW9kICovCisJaWYgKHN0bXQtPnBlcmlvZCkKKwkJc3RtdC0+ cGVyaW9kLT5vaWQgPSBnZXRfcGVyaW9kX29pZChyZWxpZCwgc3RtdC0+cGVyaW9kLT5wZXJpb2Ru YW1lLCBmYWxzZSk7CisKIAkvKgogCSAqIENoZWNrIHRoYXQgb25seSB0aGUgYmFzZSByZWwgaXMg bWVudGlvbmVkLiAgKFRoaXMgc2hvdWxkIGJlIGRlYWQgY29kZQogCSAqIG5vdyB0aGF0IGFkZF9t aXNzaW5nX2Zyb20gaXMgaGlzdG9yeS4pCkBAIC0zNTcwLDYgKzM3MjEsNyBAQCB0cmFuc2Zvcm1B bHRlclRhYmxlU3RtdChPaWQgcmVsaWQsIEFsdGVyVGFibGVTdG10ICpzdG10LAogCWN4dC5pbmhS ZWxhdGlvbnMgPSBOSUw7CiAJY3h0LmlzYWx0ZXIgPSB0cnVlOwogCWN4dC5jb2x1bW5zID0gTklM OworCWN4dC5wZXJpb2RzID0gTklMOwogCWN4dC5ja2NvbnN0cmFpbnRzID0gTklMOwogCWN4dC5u bmNvbnN0cmFpbnRzID0gTklMOwogCWN4dC5ma2NvbnN0cmFpbnRzID0gTklMOwpkaWZmIC0tZ2l0 IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L01ha2VmaWxlCmluZGV4IGNjNjhhYzU0NWE1Li41ZDhjYjM1MzAxMiAxMDA2NDQKLS0tIGEvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L01ha2VmaWxlCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9N YWtlZmlsZQpAQCAtODAsNiArODAsNyBAQCBPQkpTID0gXAogCW9yYWNsZV9jb21wYXQubyBcCiAJ b3JkZXJlZHNldGFnZ3MubyBcCiAJcGFydGl0aW9uZnVuY3MubyBcCisJcGVyaW9kLm8gXAogCXBn X2xvY2FsZS5vIFwKIAlwZ19sb2NhbGVfYnVpbHRpbi5vIFwKIAlwZ19sb2NhbGVfaWN1Lm8gXApk aWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3BlcmlvZC5jIGIvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L3BlcmlvZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li42Zjg5OTA2OGQwMwotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w ZXJpb2QuYwpAQCAtMCwwICsxLDU4IEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBwZXJp b2QuYworICoJICBGdW5jdGlvbnMgdG8gc3VwcG9ydCBwZXJpb2RzLgorICoKKyAqCisgKiBQb3J0 aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1l bnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0aGUg VW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICoKKyAqIElERU5USUZJQ0FUSU9OCisgKgkg IHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZXJpb2QuYworICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor ICovCisjaW5jbHVkZSAicG9zdGdyZXMuaCIKKworI2luY2x1ZGUgImV4ZWN1dG9yL3R1cHRhYmxl LmgiCisjaW5jbHVkZSAiZm1nci5oIgorI2luY2x1ZGUgIm5vZGVzL3ByaW1ub2Rlcy5oIgorI2lu Y2x1ZGUgInV0aWxzL2ZtZ3Jwcm90b3MuaCIKKyNpbmNsdWRlICJ1dGlscy9wZXJpb2QuaCIKKyNp bmNsdWRlICJ1dGlscy9yYW5nZXR5cGVzLmgiCisKK0RhdHVtCitwZXJpb2RfdG9fcmFuZ2UoVHVw bGVUYWJsZVNsb3QgKnNsb3QsIGludCBzdGFydGF0dG5vLCBpbnQgZW5kYXR0bm8sIE9pZCByYW5n ZXR5cGUpCit7CisJRGF0dW0JCXN0YXJ0dmFsdWU7CisJRGF0dW0JCWVuZHZhbHVlOworCURhdHVt CQlyZXN1bHQ7CisJYm9vbAkJc3RhcnRpc251bGw7CisJYm9vbAkJZW5kaXNudWxsOworCisJTE9D QUxfRkNJTkZPKGZjaW5mbywgMik7CisJRm1nckluZm8JZmxpbmZvOworCUZ1bmNFeHByICAgKmY7 CisKKwlJbml0RnVuY3Rpb25DYWxsSW5mb0RhdGEoKmZjaW5mbywgJmZsaW5mbywgMiwgSW52YWxp ZE9pZCwgTlVMTCwgTlVMTCk7CisJZiA9IG1ha2VOb2RlKEZ1bmNFeHByKTsKKwlmLT5mdW5jcmVz dWx0dHlwZSA9IHJhbmdldHlwZTsKKwlmbGluZm8uZm5fZXhwciA9IChOb2RlICopIGY7CisJZmxp bmZvLmZuX2V4dHJhID0gTlVMTDsKKworCS8qIGNvbXB1dGUgb2xkdmFsdWUgKi8KKwlzdGFydHZh bHVlID0gc2xvdF9nZXRhdHRyKHNsb3QsIHN0YXJ0YXR0bm8sICZzdGFydGlzbnVsbCk7CisJZW5k dmFsdWUgPSBzbG90X2dldGF0dHIoc2xvdCwgZW5kYXR0bm8sICZlbmRpc251bGwpOworCisJZmNp bmZvLT5hcmdzWzBdLnZhbHVlID0gc3RhcnR2YWx1ZTsKKwlmY2luZm8tPmFyZ3NbMF0uaXNudWxs ID0gc3RhcnRpc251bGw7CisJZmNpbmZvLT5hcmdzWzFdLnZhbHVlID0gZW5kdmFsdWU7CisJZmNp bmZvLT5hcmdzWzFdLmlzbnVsbCA9IGVuZGlzbnVsbDsKKworCXJlc3VsdCA9IHJhbmdlX2NvbnN0 cnVjdG9yMihmY2luZm8pOworCWlmIChmY2luZm8tPmlzbnVsbCkKKwkJZWxvZyhFUlJPUiwgImZ1 bmN0aW9uICV1IHJldHVybmVkIE5VTEwiLCBmbGluZm8uZm5fb2lkKTsKKworCXJldHVybiByZXN1 bHQ7Cit9CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYyBi L3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCmluZGV4IDQzMTU4YWZhYzE1Li4z NGM5ODE4OGIwZCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5c2NhY2hl LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvY2FjaGUvbHN5c2NhY2hlLmMKQEAgLTMzLDYgKzMz LDcgQEAKICNpbmNsdWRlICJjYXRhbG9nL3BnX29wY2xhc3MuaCIKICNpbmNsdWRlICJjYXRhbG9n L3BnX29wZmFtaWx5LmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19vcGVyYXRvci5oIgorI2luY2x1 ZGUgImNhdGFsb2cvcGdfcGVyaW9kLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19wcm9jLmgiCiAj aW5jbHVkZSAiY2F0YWxvZy9wZ19wdWJsaWNhdGlvbi5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdf cmFuZ2UuaCIKQEAgLTEwODgsNiArMTA4OSw2OCBAQCBnZXRfYXR0b3B0aW9ucyhPaWQgcmVsaWQs IGludDE2IGF0dG51bSkKIAlyZXR1cm4gcmVzdWx0OwogfQogCisvKgkJCQktLS0tLS0tLS0tIFBH X1BFUklPRCBDQUNIRSAtLS0tLS0tLS0tCQkJCSAqLworCisvKgorICogZ2V0X3BlcmlvZG5hbWUg LSBnaXZlbiBpdHMgT0lELCBsb29rIHVwIGEgcGVyaW9kCisgKgorICogSWYgbWlzc2luZ19vayBp cyBmYWxzZSwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHBlcmlvZCBpcyBub3QgZm91bmQuCisgKiBJ ZiB0cnVlLCBqdXN0IHJldHVybiBJbnZhbGlkT2lkLgorICovCitjaGFyICoKK2dldF9wZXJpb2Ru YW1lKE9pZCBwZXJpb2RpZCwgYm9vbCBtaXNzaW5nX29rKQoreworCUhlYXBUdXBsZQl0cDsKKwor CXRwID0gU2VhcmNoU3lzQ2FjaGUxKFBFUklPRE9JRCwKKwkJCQkJCSBPYmplY3RJZEdldERhdHVt KHBlcmlvZGlkKSk7CisJaWYgKEhlYXBUdXBsZUlzVmFsaWQodHApKQorCXsKKwkJRm9ybV9wZ19w ZXJpb2QgcGVyaW9kX3R1cCA9IChGb3JtX3BnX3BlcmlvZCkgR0VUU1RSVUNUKHRwKTsKKwkJY2hh cgkgICAqcmVzdWx0OworCisJCXJlc3VsdCA9IHBzdHJkdXAoTmFtZVN0cihwZXJpb2RfdHVwLT5w ZXJuYW1lKSk7CisJCVJlbGVhc2VTeXNDYWNoZSh0cCk7CisJCXJldHVybiByZXN1bHQ7CisJfQor CisJaWYgKCFtaXNzaW5nX29rKQorCQllbG9nKEVSUk9SLCAiY2FjaGUgbG9va3VwIGZhaWxlZCBm b3IgcGVyaW9kICVkIiwKKwkJCSBwZXJpb2RpZCk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisg KiBnZXRfcGVyaW9kX29pZCAtIGdldHMgaXRzIHJlbGF0aW9uIGFuZCBuYW1lLCBsb29rIHVwIGEg cGVyaW9kCisgKgorICogSWYgbWlzc2luZ19vayBpcyBmYWxzZSwgdGhyb3cgYW4gZXJyb3IgaWYg dGhlIGNhc3QgaXMgbm90IGZvdW5kLiAgSWYKKyAqIHRydWUsIGp1c3QgcmV0dXJuIEludmFsaWRP aWQuCisgKi8KK09pZAorZ2V0X3BlcmlvZF9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFyICpwZXJp b2RuYW1lLCBib29sIG1pc3Npbmdfb2spCit7CisJSGVhcFR1cGxlCXRwOworCisJdHAgPSBTZWFy Y2hTeXNDYWNoZTIoUEVSSU9ETkFNRSwKKwkJCQkJCSBPYmplY3RJZEdldERhdHVtKHJlbGlkKSwK KwkJCQkJCSBQb2ludGVyR2V0RGF0dW0ocGVyaW9kbmFtZSkpOworCisJaWYgKEhlYXBUdXBsZUlz VmFsaWQodHApKQorCXsKKwkJRm9ybV9wZ19wZXJpb2QgcGVyaW9kX3R1cCA9IChGb3JtX3BnX3Bl cmlvZCkgR0VUU1RSVUNUKHRwKTsKKwkJT2lkCQkJcmVzdWx0OworCisJCXJlc3VsdCA9IHBlcmlv ZF90dXAtPm9pZDsKKwkJUmVsZWFzZVN5c0NhY2hlKHRwKTsKKwkJcmV0dXJuIHJlc3VsdDsKKwl9 CisKKwlpZiAoIW1pc3Npbmdfb2spCisJCWVsb2coRVJST1IsICJjYWNoZSBsb29rdXAgZmFpbGVk IGZvciBwZXJpb2QgJXMiLAorCQkJIHBlcmlvZG5hbWUpOworCXJldHVybiBJbnZhbGlkT2lkOwor fQorCiAvKgkJCQktLS0tLS0tLS0tIFBHX0NBU1QgQ0FDSEUgLS0tLS0tLS0tLQkJCQkJICovCiAK IC8qCkBAIC0zNjkyLDYgKzM3NTUsMzEgQEAgZ2V0X211bHRpcmFuZ2VfcmFuZ2UoT2lkIG11bHRp cmFuZ2VPaWQpCiAJCXJldHVybiBJbnZhbGlkT2lkOwogfQogCitPaWQKK2dldF9zdWJ0eXBlX3Jh bmdlKE9pZCBzdWJ0eXBlT2lkKQoreworCUNhdENMaXN0ICAgKmNhdGxpc3Q7CisJT2lkCQkJcmVz dWx0ID0gSW52YWxpZE9pZDsKKworCWNhdGxpc3QgPSBTZWFyY2hTeXNDYWNoZUxpc3QxKFJBTkdF U1VCVFlQRSwgT2JqZWN0SWRHZXREYXR1bShzdWJ0eXBlT2lkKSk7CisKKwlpZiAoY2F0bGlzdC0+ bl9tZW1iZXJzID09IDEpCisJeworCQlIZWFwVHVwbGUJdHVwbGUgPSAmY2F0bGlzdC0+bWVtYmVy c1swXS0+dHVwbGU7CisJCUZvcm1fcGdfcmFuZ2Ugcm5ndHVwID0gKEZvcm1fcGdfcmFuZ2UpIEdF VFNUUlVDVCh0dXBsZSk7CisKKwkJcmVzdWx0ID0gcm5ndHVwLT5ybmd0eXBpZDsKKwkJUmVsZWFz ZUNhdENhY2hlTGlzdChjYXRsaXN0KTsKKwl9CisJZWxzZSBpZiAoY2F0bGlzdC0+bl9tZW1iZXJz ID4gMSkKKwkJZXJlcG9ydChFUlJPUiwKKwkJCQkoZXJyY29kZShFUlJDT0RFX0lOREVURVJNSU5B VEVfREFUQVRZUEUpLAorCQkJCSBlcnJtc2coImFtYmlndW91cyByYW5nZSBmb3IgdHlwZSAlcyIs CisJCQkJCQlmb3JtYXRfdHlwZV9iZShzdWJ0eXBlT2lkKSkpKTsKKworCXJldHVybiByZXN1bHQ7 Cit9CisKIC8qCQkJCS0tLS0tLS0tLS0gUEdfSU5ERVggQ0FDSEUgLS0tLS0tLS0tLQkJCQkgKi8K IAogLyoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIuYyBi L3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2ZXIuYwppbmRleCA1OWVhZWNiNGVkNy4u ODIwZTg5ZTRmZDUgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19iYWNrdXBfYXJjaGl2 ZXIuYworKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfYmFja3VwX2FyY2hpdmVyLmMKQEAgLTM4NzMs NiArMzg3Myw3IEBAIF9nZXRPYmplY3REZXNjcmlwdGlvbihQUUV4cEJ1ZmZlciBidWYsIGNvbnN0 IFRvY0VudHJ5ICp0ZSkKIAkJCSBzdHJjbXAodHlwZSwgIkRBVEFCQVNFIFBST1BFUlRJRVMiKSA9 PSAwIHx8CiAJCQkgc3RyY21wKHR5cGUsICJERUZBVUxUIikgPT0gMCB8fAogCQkJIHN0cmNtcCh0 eXBlLCAiRksgQ09OU1RSQUlOVCIpID09IDAgfHwKKwkJCSBzdHJjbXAodHlwZSwgIlBFUklPRCIp ID09IDAgfHwKIAkJCSBzdHJjbXAodHlwZSwgIklOREVYIikgPT0gMCB8fAogCQkJIHN0cmNtcCh0 eXBlLCAiUlVMRSIpID09IDAgfHwKIAkJCSBzdHJjbXAodHlwZSwgIlRSSUdHRVIiKSA9PSAwIHx8 CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jpbi9wZ19kdW1w L3BnX2R1bXAuYwppbmRleCA2NDFiZWNlMTJjNy4uNzExYzcyMjA5NDUgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYwpA QCAtNzE4NCw2ICs3MTg0LDcgQEAgZ2V0VGFibGVzKEFyY2hpdmUgKmZvdXQsIGludCAqbnVtVGFi bGVzKQogCWludAkJCWlfcmVsdHlwZTsKIAlpbnQJCQlpX3JlbG93bmVyOwogCWludAkJCWlfcmVs Y2hlY2tzOworCWludAkJCWlfbnBlcmlvZDsKIAlpbnQJCQlpX3JlbGhhc2luZGV4OwogCWludAkJ CWlfcmVsaGFzcnVsZXM7CiAJaW50CQkJaV9yZWxwYWdlczsKQEAgLTcyNzEsNiArNzI3MiwxNCBA QCBnZXRUYWJsZXMoQXJjaGl2ZSAqZm91dCwgaW50ICpudW1UYWJsZXMpCiAJCWFwcGVuZFBRRXhw QnVmZmVyU3RyKHF1ZXJ5LAogCQkJCQkJCSAiYy5yZWxoYXNvaWRzLCAiKTsKIAorCS8qIEluIFBH MTkgdXB3YXJkcyB3ZSBoYXZlIFBFUklPRHMuICovCisJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24g Pj0gMTkwMDAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJCQkJCQkgIihTRUxF Q1QgY291bnQoKikgRlJPTSBwZ19wZXJpb2QgV0hFUkUgcGVycmVsaWQgPSBjLm9pZCkgQVMgbnBl cmlvZHMsICIpOworCWVsc2UKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCisJCQkJCQkJ ICIwIEFTIG5wZXJpb2RzLCAiKTsKKwogCWlmIChmb3V0LT5yZW1vdGVWZXJzaW9uID49IDkwMzAw KQogCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKIAkJCQkJCQkgImMucmVsaXNwb3B1bGF0 ZWQsICIpOwpAQCAtNzQwOCw2ICs3NDE3LDcgQEAgZ2V0VGFibGVzKEFyY2hpdmUgKmZvdXQsIGlu dCAqbnVtVGFibGVzKQogCWlfcmVsdHlwZSA9IFBRZm51bWJlcihyZXMsICJyZWx0eXBlIik7CiAJ aV9yZWxvd25lciA9IFBRZm51bWJlcihyZXMsICJyZWxvd25lciIpOwogCWlfcmVsY2hlY2tzID0g UFFmbnVtYmVyKHJlcywgInJlbGNoZWNrcyIpOworCWlfbnBlcmlvZCA9IFBRZm51bWJlcihyZXMs ICJucGVyaW9kcyIpOwogCWlfcmVsaGFzaW5kZXggPSBQUWZudW1iZXIocmVzLCAicmVsaGFzaW5k ZXgiKTsKIAlpX3JlbGhhc3J1bGVzID0gUFFmbnVtYmVyKHJlcywgInJlbGhhc3J1bGVzIik7CiAJ aV9yZWxwYWdlcyA9IFBRZm51bWJlcihyZXMsICJyZWxwYWdlcyIpOwpAQCAtNzQ5Nyw2ICs3NTA3 LDcgQEAgZ2V0VGFibGVzKEFyY2hpdmUgKmZvdXQsIGludCAqbnVtVGFibGVzKQogCQl9CiAJCXRi bGluZm9baV0ucmVsdGFibGVzcGFjZSA9IHBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywgaSwgaV9y ZWx0YWJsZXNwYWNlKSk7CiAJCXRibGluZm9baV0uaGFzb2lkcyA9IChzdHJjbXAoUFFnZXR2YWx1 ZShyZXMsIGksIGlfcmVsaGFzb2lkcyksICJ0IikgPT0gMCk7CisJCXRibGluZm9baV0ubnBlcmlv ZCA9IGF0b2koUFFnZXR2YWx1ZShyZXMsIGksIGlfbnBlcmlvZCkpOwogCQl0YmxpbmZvW2ldLmhh c3RyaWdnZXJzID0gKHN0cmNtcChQUWdldHZhbHVlKHJlcywgaSwgaV9yZWxoYXN0cmlnZ2Vycyks ICJ0IikgPT0gMCk7CiAJCXRibGluZm9baV0ucmVscGVyc2lzdGVuY2UgPSAqKFBRZ2V0dmFsdWUo cmVzLCBpLCBpX3JlbHBlcnNpc3RlbmNlKSk7CiAJCXRibGluZm9baV0ucmVsaXNwb3B1bGF0ZWQg PSAoc3RyY21wKFBRZ2V0dmFsdWUocmVzLCBpLCBpX3JlbGlzcG9wdWxhdGVkKSwgInQiKSA9PSAw KTsKQEAgLTc5NTUsNyArNzk2Niw3IEBAIGdldEluZGV4ZXMoQXJjaGl2ZSAqZm91dCwgVGFibGVJ bmZvIHRibGluZm9bXSwgaW50IG51bVRhYmxlcykKIAkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVl cnksCiAJCQkJCQkJICJmYWxzZSBBUyBpbmRudWxsc25vdGRpc3RpbmN0LCAiKTsKIAotCWlmIChm b3V0LT5yZW1vdGVWZXJzaW9uID49IDE4MDAwMCkKKwlpZiAoZm91dC0+cmVtb3RlVmVyc2lvbiA+ PSAxOTAwMDApCiAJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAogCQkJCQkJCSAiYy5jb25w ZXJpb2QgIik7CiAJZWxzZQpAQCAtOTIxMiw3ICs5MjIzLDcgQEAgZ2V0VHJhbnNmb3JtcyhBcmNo aXZlICpmb3V0KQogLyoKICAqIGdldFRhYmxlQXR0cnMgLQogICoJICBmb3IgZWFjaCBpbnRlcmVz dGluZyB0YWJsZSwgcmVhZCBpbmZvIGFib3V0IGl0cyBhdHRyaWJ1dGVzCi0gKgkgIChuYW1lcywg dHlwZXMsIGRlZmF1bHQgdmFsdWVzLCBDSEVDSyBjb25zdHJhaW50cywgZXRjKQorICoJICAobmFt ZXMsIHR5cGVzLCBkZWZhdWx0IHZhbHVlcywgQ0hFQ0sgY29uc3RyYWludHMsIFBFUklPRHMsIGV0 YykKICAqCiAgKgltb2RpZmllcyB0YmxpbmZvCiAgKi8KQEAgLTkyNjcsNiArOTI3OCw4IEBAIGdl dFRhYmxlQXR0cnMoQXJjaGl2ZSAqZm91dCwgVGFibGVJbmZvICp0YmxpbmZvLCBpbnQgbnVtVGFi bGVzKQogCWZvciAoaW50IGkgPSAwOyBpIDwgbnVtVGFibGVzOyBpKyspCiAJewogCQlUYWJsZUlu Zm8gICp0YmluZm8gPSAmdGJsaW5mb1tpXTsKKwkJaW50CQkJbmR1bXBhYmxlY2hlY2tzOwkvKiBu dW1iZXIgb2YgQ0hFQ0sgY29uc3RyYWludHMgdGhhdCBkbworCQkJCQkJCQkJCSAqIG5vdCBiZWxv bmcgdG8gYSBwZXJpb2QgKi8KIAogCQkvKiBEb24ndCBib3RoZXIgdG8gY29sbGVjdCBpbmZvIGZv ciBzZXF1ZW5jZXMgKi8KIAkJaWYgKHRiaW5mby0+cmVsa2luZCA9PSBSRUxLSU5EX1NFUVVFTkNF KQpAQCAtOTI5Myw3ICs5MzA2LDggQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJs ZUluZm8gKnRibGluZm8sIGludCBudW1UYWJsZXMpCiAJCQlhcHBlbmRQUUV4cEJ1ZmZlckNoYXIo dGJsb2lkcywgJywnKTsKIAkJYXBwZW5kUFFFeHBCdWZmZXIodGJsb2lkcywgIiV1IiwgdGJpbmZv LT5kb2JqLmNhdElkLm9pZCk7CiAKLQkJaWYgKHRiaW5mby0+bmNoZWNrID4gMCkKKwkJbmR1bXBh YmxlY2hlY2tzID0gdGJpbmZvLT5uY2hlY2sgLSB0YmluZm8tPm5wZXJpb2Q7CisJCWlmIChuZHVt cGFibGVjaGVja3MgPiAwKQogCQl7CiAJCQkvKiBBbHNvIG1ha2UgYSBsaXN0IG9mIHRoZSBvbmVz IHdpdGggY2hlY2sgY29uc3RyYWludHMgKi8KIAkJCWlmIChjaGVja29pZHMtPmxlbiA+IDEpIC8q IGRvIHdlIGhhdmUgbW9yZSB0aGFuIHRoZSAneyc/ICovCkBAIC05ODI2LDE1ICs5ODQwLDM2IEBA IGdldFRhYmxlQXR0cnMoQXJjaGl2ZSAqZm91dCwgVGFibGVJbmZvICp0YmxpbmZvLCBpbnQgbnVt VGFibGVzKQogCQlwZ19sb2dfaW5mbygiZmluZGluZyB0YWJsZSBjaGVjayBjb25zdHJhaW50cyIp OwogCiAJCXJlc2V0UFFFeHBCdWZmZXIocSk7Ci0JCWFwcGVuZFBRRXhwQnVmZmVyKHEsCi0JCQkJ CQkgICJTRUxFQ1QgYy50YWJsZW9pZCwgYy5vaWQsIGNvbnJlbGlkLCBjb25uYW1lLCAiCi0JCQkJ CQkgICJwZ19jYXRhbG9nLnBnX2dldF9jb25zdHJhaW50ZGVmKGMub2lkKSBBUyBjb25zcmMsICIK LQkJCQkJCSAgImNvbmlzbG9jYWwsIGNvbnZhbGlkYXRlZCAiCi0JCQkJCQkgICJGUk9NIHVubmVz dCgnJXMnOjpwZ19jYXRhbG9nLm9pZFtdKSBBUyBzcmModGJsb2lkKVxuIgotCQkJCQkJICAiSk9J TiBwZ19jYXRhbG9nLnBnX2NvbnN0cmFpbnQgYyBPTiAoc3JjLnRibG9pZCA9IGMuY29ucmVsaWQp XG4iCi0JCQkJCQkgICJXSEVSRSBjb250eXBlID0gJ2MnICIKLQkJCQkJCSAgIk9SREVSIEJZIGMu Y29ucmVsaWQsIGMuY29ubmFtZSIsCi0JCQkJCQkgIGNoZWNrb2lkcy0+ZGF0YSk7CisJCWlmIChm b3V0LT5yZW1vdGVWZXJzaW9uID49IDE5MDAwMCkKKwkJeworCQkJLyoKKwkJCSAqIFBFUklPRHMg d2VyZSBhZGRlZCBpbiB2MTkgYW5kIHdlIGRvbid0IGR1bXAgQ0hFQ0sgY29uc3RyYWludHMKKwkJ CSAqIGZvciB0aGVtLgorCQkJICovCisJCQlhcHBlbmRQUUV4cEJ1ZmZlcihxLAorCQkJCQkJCSAg IlNFTEVDVCBjLnRhYmxlb2lkLCBjLm9pZCwgY29ucmVsaWQsIGNvbm5hbWUsICIKKwkJCQkJCQkg ICJwZ19jYXRhbG9nLnBnX2dldF9jb25zdHJhaW50ZGVmKGMub2lkKSBBUyBjb25zcmMsICIKKwkJ CQkJCQkgICJjb25pc2xvY2FsLCBjb252YWxpZGF0ZWQgIgorCQkJCQkJCSAgIkZST00gdW5uZXN0 KCclcyc6OnBnX2NhdGFsb2cub2lkW10pIEFTIHNyYyh0YmxvaWQpXG4iCisJCQkJCQkJICAiSk9J TiBwZ19jYXRhbG9nLnBnX2NvbnN0cmFpbnQgYyBPTiAoc3JjLnRibG9pZCA9IGMuY29ucmVsaWQp XG4iCisJCQkJCQkJICAiV0hFUkUgY29udHlwZSA9ICdjJyAiCisJCQkJCQkJICAiICAgQU5EIE5P VCBFWElTVFMgKFNFTEVDVCBGUk9NIHBnX3BlcmlvZCAiCisJCQkJCQkJICAiICAgICAgICAgICAg ICAgICAgIFdIRVJFIChwZXJyZWxpZCwgcGVyY29uc3RyYWludCkgPSAoY29ucmVsaWQsIGMub2lk KSkgIgorCQkJCQkJCSAgIk9SREVSIEJZIGMuY29ucmVsaWQsIGMuY29ubmFtZSIsCisJCQkJCQkJ ICBjaGVja29pZHMtPmRhdGEpOworCQl9CisJCWVsc2UKKwkJeworCQkJYXBwZW5kUFFFeHBCdWZm ZXIocSwKKwkJCQkJCQkgICJTRUxFQ1QgYy50YWJsZW9pZCwgYy5vaWQsIGNvbnJlbGlkLCBjb25u YW1lLCAiCisJCQkJCQkJICAicGdfY2F0YWxvZy5wZ19nZXRfY29uc3RyYWludGRlZihjLm9pZCkg QVMgY29uc3JjLCAiCisJCQkJCQkJICAiY29uaXNsb2NhbCwgY29udmFsaWRhdGVkICIKKwkJCQkJ CQkgICJGUk9NIHVubmVzdCgnJXMnOjpwZ19jYXRhbG9nLm9pZFtdKSBBUyBzcmModGJsb2lkKVxu IgorCQkJCQkJCSAgIkpPSU4gcGdfY2F0YWxvZy5wZ19jb25zdHJhaW50IGMgT04gKHNyYy50Ymxv aWQgPSBjLmNvbnJlbGlkKVxuIgorCQkJCQkJCSAgIldIRVJFIGNvbnR5cGUgPSAnYycgIgorCQkJ CQkJCSAgIk9SREVSIEJZIGMuY29ucmVsaWQsIGMuY29ubmFtZSIsCisJCQkJCQkJICBjaGVja29p ZHMtPmRhdGEpOworCQl9CiAKIAkJcmVzID0gRXhlY3V0ZVNxbFF1ZXJ5KGZvdXQsIHEtPmRhdGEs IFBHUkVTX1RVUExFU19PSyk7CiAKQEAgLTk4NTYsNiArOTg5MSw3IEBAIGdldFRhYmxlQXR0cnMo QXJjaGl2ZSAqZm91dCwgVGFibGVJbmZvICp0YmxpbmZvLCBpbnQgbnVtVGFibGVzKQogCQkJT2lk CQkJY29ucmVsaWQgPSBhdG9vaWQoUFFnZXR2YWx1ZShyZXMsIGosIGlfY29ucmVsaWQpKTsKIAkJ CVRhYmxlSW5mbyAgKnRiaW5mbyA9IE5VTEw7CiAJCQlpbnQJCQludW1jb25zOworCQkJaW50CQkJ bmR1bXBhYmxlY2hlY2tzOwogCiAJCQkvKiBDb3VudCByb3dzIGZvciB0aGlzIHRhYmxlICovCiAJ CQlmb3IgKG51bWNvbnMgPSAxOyBudW1jb25zIDwgbnVtQ29uc3RycyAtIGo7IG51bWNvbnMrKykK QEAgLTk4NzUsMTIgKzk5MTEsMTMgQEAgZ2V0VGFibGVBdHRycyhBcmNoaXZlICpmb3V0LCBUYWJs ZUluZm8gKnRibGluZm8sIGludCBudW1UYWJsZXMpCiAJCQlpZiAoY3VydGJsaW5keCA+PSBudW1U YWJsZXMpCiAJCQkJcGdfZmF0YWwoInVucmVjb2duaXplZCB0YWJsZSBPSUQgJXUiLCBjb25yZWxp ZCk7CiAKLQkJCWlmIChudW1jb25zICE9IHRiaW5mby0+bmNoZWNrKQorCQkJbmR1bXBhYmxlY2hl Y2tzID0gdGJpbmZvLT5uY2hlY2sgLSB0YmluZm8tPm5wZXJpb2Q7CisJCQlpZiAobnVtY29ucyAh PSBuZHVtcGFibGVjaGVja3MpCiAJCQl7CiAJCQkJcGdfbG9nX2Vycm9yKG5nZXR0ZXh0KCJleHBl Y3RlZCAlZCBjaGVjayBjb25zdHJhaW50IG9uIHRhYmxlIFwiJXNcIiBidXQgZm91bmQgJWQiLAog CQkJCQkJCQkJICAiZXhwZWN0ZWQgJWQgY2hlY2sgY29uc3RyYWludHMgb24gdGFibGUgXCIlc1wi IGJ1dCBmb3VuZCAlZCIsCi0JCQkJCQkJCQkgIHRiaW5mby0+bmNoZWNrKSwKLQkJCQkJCQkgdGJp bmZvLT5uY2hlY2ssIHRiaW5mby0+ZG9iai5uYW1lLCBudW1jb25zKTsKKwkJCQkJCQkJCSAgbmR1 bXBhYmxlY2hlY2tzKSwKKwkJCQkJCQkgbmR1bXBhYmxlY2hlY2tzLCB0YmluZm8tPmRvYmoubmFt ZSwgbnVtY29ucyk7CiAJCQkJcGdfbG9nX2Vycm9yX2hpbnQoIlRoZSBzeXN0ZW0gY2F0YWxvZ3Mg bWlnaHQgYmUgY29ycnVwdGVkLiIpOwogCQkJCWV4aXRfbmljZWx5KDEpOwogCQkJfQpAQCAtOTkz OSw2ICs5OTc2LDgwIEBAIGdldFRhYmxlQXR0cnMoQXJjaGl2ZSAqZm91dCwgVGFibGVJbmZvICp0 YmxpbmZvLCBpbnQgbnVtVGFibGVzKQogCQlQUWNsZWFyKHJlcyk7CiAJfQogCisJZm9yIChpbnQg aSA9IDA7IGkgPCBudW1UYWJsZXM7IGkrKykKKwl7CisJCVRhYmxlSW5mbyAgKnRiaW5mbyA9ICZ0 YmxpbmZvW2ldOworCisJCS8qCisJCSAqIEdldCBpbmZvIGFib3V0IFBFUklPRCBkZWZpbml0aW9u cworCQkgKi8KKwkJaWYgKHRiaW5mby0+bnBlcmlvZCA+IDApCisJCXsKKwkJCVBlcmlvZEluZm8g KnBlcmlvZHM7CisJCQlpbnQJCQludW1QZXJpb2RzOworCQkJaW50CQkJajsKKworCQkJLyogV2Ug c2hvdWxkbid0IGhhdmUgYW55IHBlcmlvZHMgYmVmb3JlIHYxOSAqLworCQkJQXNzZXJ0KGZvdXQt PnJlbW90ZVZlcnNpb24gPj0gMTkwMDAwKTsKKworCQkJcGdfbG9nX2luZm8oImZpbmRpbmcgcGVy aW9kcyBmb3IgdGFibGUgXCIlcy4lc1wiIiwKKwkJCQkJCXRiaW5mby0+ZG9iai5uYW1lc3BhY2Ut PmRvYmoubmFtZSwKKwkJCQkJCXRiaW5mby0+ZG9iai5uYW1lKTsKKworCQkJcmVzZXRQUUV4cEJ1 ZmZlcihxKTsKKwkJCWFwcGVuZFBRRXhwQnVmZmVyKHEsCisJCQkJCQkJICAiU0VMRUNUIHAudGFi bGVvaWQsIHAub2lkLCBwLnBlcm5hbWUsICIKKwkJCQkJCQkgICIgICAgICAgc2EuYXR0bmFtZSBB UyBwZXJzdGFydCwgZWEuYXR0bmFtZSBBUyBwZXJlbmQsICIKKwkJCQkJCQkgICIgICAgICAgci50 eXBuYW1lIEFTIHJuZ3R5cGUsICIKKwkJCQkJCQkgICIgICAgICAgYy5jb25uYW1lIEFTIGNvbm5h bWUgIgorCQkJCQkJCSAgIkZST00gcGdfY2F0YWxvZy5wZ19wZXJpb2QgQVMgcCAiCisJCQkJCQkJ ICAiSk9JTiBwZ19jYXRhbG9nLnBnX2F0dHJpYnV0ZSBBUyBzYSBPTiAoc2EuYXR0cmVsaWQsIHNh LmF0dG51bSkgPSAocC5wZXJyZWxpZCwgcC5wZXJzdGFydCkgIgorCQkJCQkJCSAgIkpPSU4gcGdf Y2F0YWxvZy5wZ19hdHRyaWJ1dGUgQVMgZWEgT04gKGVhLmF0dHJlbGlkLCBlYS5hdHRudW0pID0g KHAucGVycmVsaWQsIHAucGVyZW5kKSAiCisJCQkJCQkJICAiSk9JTiBwZ19jYXRhbG9nLnBnX2F0 dHJpYnV0ZSBBUyByYSBPTiAocmEuYXR0cmVsaWQsIHJhLmF0dG51bSkgPSAocC5wZXJyZWxpZCwg cC5wZXJyYW5nZSkgIgorCQkJCQkJCSAgIkpPSU4gcGdfY2F0YWxvZy5wZ190eXBlIEFTIHIgT04g ci5vaWQgPSByYS5hdHR0eXBpZCAiCisJCQkJCQkJICAiSk9JTiBwZ19jYXRhbG9nLnBnX2NvbnN0 cmFpbnQgQVMgYyBPTiBjLm9pZCA9IHAucGVyY29uc3RyYWludCAiCisJCQkJCQkJICAiV0hFUkUg cC5wZXJyZWxpZCA9ICcldSc6OnBnX2NhdGFsb2cub2lkICIKKwkJCQkJCQkgICJPUkRFUiBCWSBw LnBlcm5hbWUiLAorCQkJCQkJCSAgdGJpbmZvLT5kb2JqLmNhdElkLm9pZCk7CisKKwkJCXJlcyA9 IEV4ZWN1dGVTcWxRdWVyeShmb3V0LCBxLT5kYXRhLCBQR1JFU19UVVBMRVNfT0spOworCisJCQkv KgorCQkJICogSWYgd2UgZGlkbid0IGdldCB0aGUgbnVtYmVyIG9mIHJvd3Mgd2UgdGhvdWdodCB3 ZSB3ZXJlIGdvaW5nCisJCQkgKiB0bywgdGhlbiB0aG9zZSBKT0lOcyBkaWRuJ3Qgd29yay4KKwkJ CSAqLworCQkJbnVtUGVyaW9kcyA9IFBRbnR1cGxlcyhyZXMpOworCQkJaWYgKG51bVBlcmlvZHMg IT0gdGJpbmZvLT5ucGVyaW9kKQorCQkJeworCQkJCXBnX2xvZ19pbmZvKG5nZXR0ZXh0KCJleHBl Y3RlZCAlZCBwZXJpb2Qgb24gdGFibGUgXCIlc1wiIGJ1dCBmb3VuZCAlZCIsCisJCQkJCQkJCQkg ImV4cGVjdGVkICVkIHBlcmlvZHMgb24gdGFibGUgXCIlc1wiIGJ1dCBmb3VuZCAlZCIsCisJCQkJ CQkJCQkgdGJpbmZvLT5ucGVyaW9kKSwKKwkJCQkJCQl0YmluZm8tPm5wZXJpb2QsIHRiaW5mby0+ ZG9iai5uYW1lLCBudW1QZXJpb2RzKTsKKwkJCQlwZ19sb2dfaW5mbygiKFRoZSBzeXN0ZW0gY2F0 YWxvZ3MgbWlnaHQgYmUgY29ycnVwdGVkLikiKTsKKwkJCQlleGl0X25pY2VseSgxKTsKKwkJCX0K KworCQkJcGVyaW9kcyA9IChQZXJpb2RJbmZvICopIHBnX21hbGxvYyhudW1QZXJpb2RzICogc2l6 ZW9mKFBlcmlvZEluZm8pKTsKKwkJCXRiaW5mby0+cGVyaW9kcyA9IHBlcmlvZHM7CisKKwkJCWZv ciAoaiA9IDA7IGogPCBudW1QZXJpb2RzOyBqKyspCisJCQl7CisJCQkJcGVyaW9kc1tqXS5kb2Jq Lm9ialR5cGUgPSBET19QRVJJT0Q7CisJCQkJcGVyaW9kc1tqXS5kb2JqLmNhdElkLnRhYmxlb2lk ID0gYXRvb2lkKFBRZ2V0dmFsdWUocmVzLCBqLCAwKSk7CisJCQkJcGVyaW9kc1tqXS5kb2JqLmNh dElkLm9pZCA9IGF0b29pZChQUWdldHZhbHVlKHJlcywgaiwgMSkpOworCQkJCUFzc2lnbkR1bXBJ ZCgmcGVyaW9kc1tqXS5kb2JqKTsKKwkJCQlwZXJpb2RzW2pdLmRvYmoubmFtZSA9IHBnX3N0cmR1 cChQUWdldHZhbHVlKHJlcywgaiwgMikpOworCQkJCXBlcmlvZHNbal0uZG9iai5uYW1lc3BhY2Ug PSB0YmluZm8tPmRvYmoubmFtZXNwYWNlOworCQkJCXBlcmlvZHNbal0ucGVydGFibGUgPSB0Ymlu Zm87CisJCQkJcGVyaW9kc1tqXS5wZXJzdGFydCA9IHBnX3N0cmR1cChQUWdldHZhbHVlKHJlcywg aiwgMykpOworCQkJCXBlcmlvZHNbal0ucGVyZW5kID0gcGdfc3RyZHVwKFBRZ2V0dmFsdWUocmVz LCBqLCA0KSk7CisJCQkJcGVyaW9kc1tqXS5ybmd0eXBlID0gcGdfc3RyZHVwKFBRZ2V0dmFsdWUo cmVzLCBqLCA1KSk7CisJCQkJcGVyaW9kc1tqXS5jb25uYW1lID0gcGdfc3RyZHVwKFBRZ2V0dmFs dWUocmVzLCBqLCA2KSk7CisJCQl9CisJCQlQUWNsZWFyKHJlcyk7CisJCX0KKwl9CisKIAlkZXN0 cm95UFFFeHBCdWZmZXIocSk7CiAJZGVzdHJveVBRRXhwQnVmZmVyKHRibG9pZHMpOwogCWRlc3Ry b3lQUUV4cEJ1ZmZlcihjaGVja29pZHMpOwpAQCAtMTE3MjksNiArMTE4NDAsOCBAQCBkdW1wRHVt cGFibGVPYmplY3QoQXJjaGl2ZSAqZm91dCwgRHVtcGFibGVPYmplY3QgKmRvYmopCiAJCWNhc2Ug RE9fRktfQ09OU1RSQUlOVDoKIAkJCWR1bXBDb25zdHJhaW50KGZvdXQsIChjb25zdCBDb25zdHJh aW50SW5mbyAqKSBkb2JqKTsKIAkJCWJyZWFrOworCQljYXNlIERPX1BFUklPRDoKKwkJCWJyZWFr OwogCQljYXNlIERPX1BST0NMQU5HOgogCQkJZHVtcFByb2NMYW5nKGZvdXQsIChjb25zdCBQcm9j TGFuZ0luZm8gKikgZG9iaik7CiAJCQlicmVhazsKQEAgLTE3MzkxLDYgKzE3NTA0LDM2IEBAIGR1 bXBUYWJsZVNjaGVtYShBcmNoaXZlICpmb3V0LCBjb25zdCBUYWJsZUluZm8gKnRiaW5mbykKIAkJ CQl9CiAJCQl9CiAKKwkJCS8qCisJCQkgKiBBZGQgbm9uLWluaGVyaXRlZCBQRVJJT0QgZGVmaW5p dGlvbnMsIGlmIGFueS4KKwkJCSAqLworCQkJZm9yIChqID0gMDsgaiA8IHRiaW5mby0+bnBlcmlv ZDsgaisrKQorCQkJeworCQkJCVBlcmlvZEluZm8gKnBlcmlvZCA9ICYodGJpbmZvLT5wZXJpb2Rz W2pdKTsKKworCQkJCWNoYXIJICAgKm5hbWUgPSBwZ19zdHJkdXAoZm10SWQocGVyaW9kLT5kb2Jq Lm5hbWUpKTsKKwkJCQljaGFyCSAgICpzdGFydCA9IHBnX3N0cmR1cChmbXRJZChwZXJpb2QtPnBl cnN0YXJ0KSk7CisJCQkJY2hhcgkgICAqZW5kID0gcGdfc3RyZHVwKGZtdElkKHBlcmlvZC0+cGVy ZW5kKSk7CisJCQkJY2hhcgkgICAqcm5ndHlwZSA9IHBnX3N0cmR1cChmbXRJZChwZXJpb2QtPnJu Z3R5cGUpKTsKKwkJCQljaGFyCSAgICpjb25uYW1lID0gcGdfc3RyZHVwKGZtdElkKHBlcmlvZC0+ Y29ubmFtZSkpOworCisJCQkJaWYgKGFjdHVhbF9hdHRzID09IDApCisJCQkJCWFwcGVuZFBRRXhw QnVmZmVyU3RyKHEsICIgKFxuICAgICIpOworCQkJCWVsc2UKKwkJCQkJYXBwZW5kUFFFeHBCdWZm ZXJTdHIocSwgIixcbiAgICAiKTsKKworCQkJCS8qCisJCQkJICogQWx3YXlzIHNheSBjb2xleGlz dHMgc28gd2UgY2FuIGp1c3QgcHJpbnQgdGhlIEdFTkVSQVRFRAorCQkJCSAqIGNvbHVtbgorCQkJ CSAqLworCQkJCWFwcGVuZFBRRXhwQnVmZmVyKHEsICJQRVJJT0QgRk9SICVzICglcywgJXMpICIK KwkJCQkJCQkJICAiV0lUSCAocmFuZ2V0eXBlID0gJXMsIGNoZWNrX2NvbnN0cmFpbnRfbmFtZSA9 ICVzLCBjb2xleGlzdHMgPSB0cnVlKSIsCisJCQkJCQkJCSAgbmFtZSwgc3RhcnQsIGVuZCwKKwkJ CQkJCQkJICBybmd0eXBlLCBjb25uYW1lKTsKKworCQkJCWFjdHVhbF9hdHRzKys7CisJCQl9CisK IAkJCS8qCiAJCQkgKiBBZGQgbm9uLWluaGVyaXRlZCBDSEVDSyBjb25zdHJhaW50cywgaWYgYW55 LgogCQkJICoKQEAgLTE3Mzk5LDcgKzE3NTQyLDcgQEAgZHVtcFRhYmxlU2NoZW1hKEFyY2hpdmUg KmZvdXQsIGNvbnN0IFRhYmxlSW5mbyAqdGJpbmZvKQogCQkJICogUEFSVElUSU9OIHRoYXQgd2Un bGwgZW1pdCBsYXRlciBleHBlY3RzIHRoZSBjb25zdHJhaW50IHRvIGJlCiAJCQkgKiB0aGVyZS4g IChObyBuZWVkIHRvIGZpeCBjb25pc2xvY2FsOiBBVFRBQ0ggUEFSVElUSU9OIGRvZXMgdGhhdCkK IAkJCSAqLwotCQkJZm9yIChqID0gMDsgaiA8IHRiaW5mby0+bmNoZWNrOyBqKyspCisJCQlmb3Ig KGogPSAwOyBqIDwgdGJpbmZvLT5uY2hlY2sgLSB0YmluZm8tPm5wZXJpb2Q7IGorKykKIAkJCXsK IAkJCQlDb25zdHJhaW50SW5mbyAqY29uc3RyID0gJih0YmluZm8tPmNoZWNrZXhwcnNbal0pOwog CkBAIC0xNzcxMSw3ICsxNzg1NCw3IEBAIGR1bXBUYWJsZVNjaGVtYShBcmNoaXZlICpmb3V0LCBj b25zdCBUYWJsZUluZm8gKnRiaW5mbykKIAkJCSAqLwogCQkJcmVzZXRQUUV4cEJ1ZmZlcihleHRy YSk7CiAJCQlmaXJzdGl0ZW0gPSB0cnVlOwotCQkJZm9yIChrID0gMDsgayA8IHRiaW5mby0+bmNo ZWNrOyBrKyspCisJCQlmb3IgKGsgPSAwOyBrIDwgdGJpbmZvLT5uY2hlY2sgLSB0YmluZm8tPm5w ZXJpb2Q7IGsrKykKIAkJCXsKIAkJCQlDb25zdHJhaW50SW5mbyAqY29uc3RyID0gJih0YmluZm8t PmNoZWNrZXhwcnNba10pOwogCkBAIC0xODA1NSw3ICsxODE5OCw3IEBAIGR1bXBUYWJsZVNjaGVt YShBcmNoaXZlICpmb3V0LCBjb25zdCBUYWJsZUluZm8gKnRiaW5mbykKIAl9CiAKIAkvKiBEdW1w IGNvbW1lbnRzIG9uIGlubGluZWQgdGFibGUgY29uc3RyYWludHMgKi8KLQlmb3IgKGogPSAwOyBq IDwgdGJpbmZvLT5uY2hlY2s7IGorKykKKwlmb3IgKGogPSAwOyBqIDwgdGJpbmZvLT5uY2hlY2sg LSB0YmluZm8tPm5wZXJpb2Q7IGorKykKIAl7CiAJCUNvbnN0cmFpbnRJbmZvICpjb25zdHIgPSAm KHRiaW5mby0+Y2hlY2tleHByc1tqXSk7CiAKQEAgLTIwMTc5LDYgKzIwMzIyLDcgQEAgYWRkQm91 bmRhcnlEZXBlbmRlbmNpZXMoRHVtcGFibGVPYmplY3QgKipkb2JqcywgaW50IG51bU9ianMsCiAJ CQljYXNlIERPX1RSSUdHRVI6CiAJCQljYXNlIERPX0VWRU5UX1RSSUdHRVI6CiAJCQljYXNlIERP X0RFRkFVTFRfQUNMOgorCQkJY2FzZSBET19QRVJJT0Q6CiAJCQljYXNlIERPX1BPTElDWToKIAkJ CWNhc2UgRE9fUFVCTElDQVRJT046CiAJCQljYXNlIERPX1BVQkxJQ0FUSU9OX1JFTDoKZGlmZiAt LWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmggYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVt cC5oCmluZGV4IGZhNmQxYTUxMGY3Li45MWY2MjYwODQxMiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19kdW1wL3BnX2R1bXAuaAorKysgYi9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCkBAIC02MCw2 ICs2MCw3IEBAIHR5cGVkZWYgZW51bQogCURPX1RSSUdHRVIsCiAJRE9fQ09OU1RSQUlOVCwKIAlE T19GS19DT05TVFJBSU5ULAkJCS8qIHNlZSBub3RlIGZvciBDb25zdHJhaW50SW5mbyAqLworCURP X1BFUklPRCwKIAlET19QUk9DTEFORywKIAlET19DQVNULAogCURPX1RBQkxFX0RBVEEsCkBAIC0z MjIsMTIgKzMyMywxNCBAQCB0eXBlZGVmIHN0cnVjdCBfdGFibGVJbmZvCiAJYm9vbAkJcm93c2Vj OwkJCS8qIGlzIHJvdyBzZWN1cml0eSBlbmFibGVkPyAqLwogCWJvb2wJCWZvcmNlcm93c2VjOwkv KiBpcyByb3cgc2VjdXJpdHkgZm9yY2VkPyAqLwogCWJvb2wJCWhhc29pZHM7CQkvKiBkb2VzIGl0 IGhhdmUgT0lEcz8gKi8KKwlib29sCQloYXNwZXJpb2RzOwkJLyogZG9lcyBpdCBoYXZlIGFueSBw ZXJpb2RzPyAqLwogCXVpbnQzMgkJZnJvemVueGlkOwkJLyogdGFibGUncyByZWxmcm96ZW54aWQg Ki8KIAl1aW50MzIJCW1pbm14aWQ7CQkvKiB0YWJsZSdzIHJlbG1pbm14aWQgKi8KIAlPaWQJCQl0 b2FzdF9vaWQ7CQkvKiB0b2FzdCB0YWJsZSdzIE9JRCwgb3IgMCBpZiBub25lICovCiAJdWludDMy CQl0b2FzdF9mcm96ZW54aWQ7CS8qIHRvYXN0IHRhYmxlJ3MgcmVsZnJvemVueGlkLCBpZiBhbnkg Ki8KIAl1aW50MzIJCXRvYXN0X21pbm14aWQ7CS8qIHRvYXN0IHRhYmxlJ3MgcmVsbWlubXhpZCAq LwogCWludAkJCW5jaGVjazsJCQkvKiAjIG9mIENIRUNLIGV4cHJlc3Npb25zICovCisJaW50CQkJ bnBlcmlvZDsJCS8qICMgb2YgUEVSSU9EIGRlZmluaXRpb25zICovCiAJT2lkCQkJcmVsdHlwZTsJ CS8qIE9JRCBvZiB0YWJsZSdzIGNvbXBvc2l0ZSB0eXBlLCBpZiBhbnkgKi8KIAlPaWQJCQlyZWxv ZnR5cGU7CQkvKiB1bmRlcmx5aW5nIHR5cGUgZm9yIHR5cGVkIHRhYmxlICovCiAJT2lkCQkJZm9y ZWlnbl9zZXJ2ZXI7IC8qIGZvcmVpZ24gc2VydmVyIG9pZCwgaWYgYXBwbGljYWJsZSAqLwpAQCAt MzU4LDYgKzM2MSw3IEBAIHR5cGVkZWYgc3RydWN0IF90YWJsZUluZm8KIAljaGFyCSAgICphdHRz dG9yYWdlOwkJLyogYXR0cmlidXRlIHN0b3JhZ2Ugc2NoZW1lICovCiAJY2hhcgkgICAqdHlwc3Rv cmFnZTsJCS8qIHR5cGUgc3RvcmFnZSBzY2hlbWUgKi8KIAlib29sCSAgICphdHRpc2Ryb3BwZWQ7 CS8qIHRydWUgaWYgYXR0ciBpcyBkcm9wcGVkOyBkb24ndCBkdW1wIGl0ICovCisJYm9vbAkgICAq YXR0aXNwZXJpb2Q7CS8qIHRydWUgaWYgYXR0ciBpcyBhIFBFUklPRDsgZG9uJ3QgZHVtcCBpdCAq LwogCWNoYXIJICAgKmF0dGlkZW50aXR5OwogCWNoYXIJICAgKmF0dGdlbmVyYXRlZDsKIAlpbnQJ CSAgICphdHRsZW47CQkJLyogYXR0cmlidXRlIGxlbmd0aCwgdXNlZCBieSBiaW5hcnlfdXBncmFk ZSAqLwpAQCAtMzc5LDYgKzM4Myw3IEBAIHR5cGVkZWYgc3RydWN0IF90YWJsZUluZm8KIAlzdHJ1 Y3QgX2F0dHJEZWZJbmZvICoqYXR0cmRlZnM7IC8qIERFRkFVTFQgZXhwcmVzc2lvbnMgKi8KIAlz dHJ1Y3QgX2NvbnN0cmFpbnRJbmZvICpjaGVja2V4cHJzOyAvKiBDSEVDSyBjb25zdHJhaW50cyAq LwogCXN0cnVjdCBfcmVsU3RhdHNJbmZvICpzdGF0czsJLyogb25seSBzZXQgZm9yIG1hdHZpZXdz ICovCisJc3RydWN0IF9wZXJpb2RJbmZvICpwZXJpb2RzOwkvKiBQRVJJT0QgZGVmaW5pdGlvbnMg Ki8KIAlib29sCQluZWVkc19vdmVycmlkZTsgLyogaGFzIEdFTkVSQVRFRCBBTFdBWVMgQVMgSURF TlRJVFkgKi8KIAljaGFyCSAgICphbW5hbWU7CQkJLyogcmVsYXRpb24gYWNjZXNzIG1ldGhvZCAq LwogCkBAIC01MjgsNiArNTMzLDE2IEBAIHR5cGVkZWYgc3RydWN0IF9jb25zdHJhaW50SW5mbwog CWJvb2wJCXNlcGFyYXRlOwkJLyogdHJ1ZSBpZiBtdXN0IGR1bXAgYXMgc2VwYXJhdGUgaXRlbSAq LwogfSBDb25zdHJhaW50SW5mbzsKIAordHlwZWRlZiBzdHJ1Y3QgX3BlcmlvZEluZm8KK3sKKwlE dW1wYWJsZU9iamVjdCBkb2JqOworCVRhYmxlSW5mbyAgKnBlcnRhYmxlOworCWNoYXIJICAgKnBl cnN0YXJ0OwkJLyogdGhlIG5hbWUgb2YgdGhlIHN0YXJ0IGNvbHVtbiAqLworCWNoYXIJICAgKnBl cmVuZDsJCQkvKiB0aGUgbmFtZSBvZiB0aGUgZW5kIGNvbHVtbiAqLworCWNoYXIJICAgKnJuZ3R5 cGU7CQkvKiB0aGUgbmFtZSBvZiB0aGUgcmFuZ2UgdHlwZSAqLworCWNoYXIJICAgKmNvbm5hbWU7 CQkvKiB0aGUgbmFtZSBvZiB0aGUgQ0hFQ0sgY29uc3RyYWludCAqLworfSBQZXJpb2RJbmZvOwor CiB0eXBlZGVmIHN0cnVjdCBfcHJvY0xhbmdJbmZvCiB7CiAJRHVtcGFibGVPYmplY3QgZG9iajsK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyBiL3NyYy9iaW4vcGdf ZHVtcC9wZ19kdW1wX3NvcnQuYwppbmRleCAyZDAyNDU2NjY0Yi4uMzY4YTMxYjllMzYgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYworKysgYi9zcmMvYmluL3BnX2R1 bXAvcGdfZHVtcF9zb3J0LmMKQEAgLTg2LDYgKzg2LDcgQEAgZW51bSBkYk9iamVjdFR5cGVQcmlv cml0aWVzCiAJUFJJT19DT05TVFJBSU5ULAogCVBSSU9fSU5ERVgsCiAJUFJJT19JTkRFWF9BVFRB Q0gsCisJUFJJT19QRVJJT0QsCiAJUFJJT19TVEFUU0VYVCwKIAlQUklPX1JVTEUsCiAJUFJJT19U UklHR0VSLApAQCAtMTIxLDYgKzEyMiw3IEBAIHN0YXRpYyBjb25zdCBpbnQgZGJPYmplY3RUeXBl UHJpb3JpdHlbXSA9CiAJW0RPX0FUVFJERUZdID0gUFJJT19BVFRSREVGLAogCVtET19JTkRFWF0g PSBQUklPX0lOREVYLAogCVtET19JTkRFWF9BVFRBQ0hdID0gUFJJT19JTkRFWF9BVFRBQ0gsCisJ W0RPX1BFUklPRF0gPSBQUklPX1BFUklPRCwKIAlbRE9fU1RBVFNFWFRdID0gUFJJT19TVEFUU0VY VCwKIAlbRE9fUlVMRV0gPSBQUklPX1JVTEUsCiAJW0RPX1RSSUdHRVJdID0gUFJJT19UUklHR0VS LApAQCAtNDUzLDYgKzQ1NSwyMyBAQCBET1R5cGVOYW1lQ29tcGFyZShjb25zdCB2b2lkICpwMSwg Y29uc3Qgdm9pZCAqcDIpCiAJCWlmIChjbXB2YWwgIT0gMCkKIAkJCXJldHVybiBjbXB2YWw7CiAJ fQorCWVsc2UgaWYgKG9iajEtPm9ialR5cGUgPT0gRE9fUEVSSU9EKQorCXsKKwkJUGVyaW9kSW5m byAqcG9iajEgPSAqKFBlcmlvZEluZm8gKmNvbnN0ICopIHAxOworCQlQZXJpb2RJbmZvICpwb2Jq MiA9ICooUGVyaW9kSW5mbyAqY29uc3QgKikgcDI7CisKKwkJLyogU29ydCBieSB0YWJsZSBuYW1l c3BhY2UgLiAuIC4gKi8KKwkJY21wdmFsID0gc3RyY21wKHBvYmoxLT5wZXJ0YWJsZS0+ZG9iai5u YW1lc3BhY2UtPmRvYmoubmFtZSwKKwkJCQkJCXBvYmoyLT5wZXJ0YWJsZS0+ZG9iai5uYW1lc3Bh Y2UtPmRvYmoubmFtZSk7CisJCWlmIChjbXB2YWwgIT0gMCkKKwkJCXJldHVybiBjbXB2YWw7CisK KwkJLyogLiAuIC4gYW5kIHRhYmxlIG5hbWUgKi8KKwkJY21wdmFsID0gc3RyY21wKHBvYmoxLT5w ZXJ0YWJsZS0+ZG9iai5uYW1lLAorCQkJCQkJcG9iajItPnBlcnRhYmxlLT5kb2JqLm5hbWUpOwor CQlpZiAoY21wdmFsICE9IDApCisJCQlyZXR1cm4gY21wdmFsOworCX0KIAogCS8qCiAJICogU2hv dWxkbid0IGdldCBoZXJlIGV4Y2VwdCBhZnRlciBjYXRhbG9nIGNvcnJ1cHRpb24sIGJ1dCBpZiB3 ZSBkbywgc29ydApAQCAtMTYyNSw2ICsxNjQ0LDExIEBAIGRlc2NyaWJlRHVtcGFibGVPYmplY3Qo RHVtcGFibGVPYmplY3QgKm9iaiwgY2hhciAqYnVmLCBpbnQgYnVmc2l6ZSkKIAkJCQkJICJGSyBD T05TVFJBSU5UICVzICAoSUQgJWQgT0lEICV1KSIsCiAJCQkJCSBvYmotPm5hbWUsIG9iai0+ZHVt cElkLCBvYmotPmNhdElkLm9pZCk7CiAJCQlyZXR1cm47CisJCWNhc2UgRE9fUEVSSU9EOgorCQkJ c25wcmludGYoYnVmLCBidWZzaXplLAorCQkJCQkgIlBFUklPRCAlcyAgKElEICVkIE9JRCAldSki LAorCQkJCQkgb2JqLT5uYW1lLCBvYmotPmR1bXBJZCwgb2JqLT5jYXRJZC5vaWQpOworCQkJcmV0 dXJuOwogCQljYXNlIERPX1BST0NMQU5HOgogCQkJc25wcmludGYoYnVmLCBidWZzaXplLAogCQkJ CQkgIlBST0NFRFVSQUwgTEFOR1VBR0UgJXMgIChJRCAlZCBPSUQgJXUpIiwKZGlmZiAtLWdpdCBh L3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMKaW5kZXgg MzZmMjQ1MDI4NDIuLmYzNWIwYTllMzY3IDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvZGVzY3Jp YmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAtMjAyNCw2ICsyMDI0LDggQEAg ZGVzY3JpYmVPbmVUYWJsZURldGFpbHMoY29uc3QgY2hhciAqc2NoZW1hbmFtZSwKIAogCWFwcGVu ZFBRRXhwQnVmZmVyU3RyKCZidWYsICJcbkZST00gcGdfY2F0YWxvZy5wZ19hdHRyaWJ1dGUgYSIp OwogCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsICJcbldIRVJFIGEuYXR0cmVsaWQgPSAnJXMnIEFO RCBhLmF0dG51bSA+IDAgQU5EIE5PVCBhLmF0dGlzZHJvcHBlZCIsIG9pZCk7CisJaWYgKHBzZXQu c3ZlcnNpb24gPj0gMTgwMDAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLCAiXG5BTkQgTk9U IEVYSVNUUyAoU0VMRUNUIDEgRlJPTSBwZ19jYXRhbG9nLnBnX3BlcmlvZCBwIFdIRVJFIHAucGVy cmVsaWQgPSBhLmF0dHJlbGlkIEFORCBwLnBlcnJhbmdlID0gYS5hdHRudW0pIik7CiAJYXBwZW5k UFFFeHBCdWZmZXJTdHIoJmJ1ZiwgIlxuT1JERVIgQlkgYS5hdHRudW07Iik7CiAKIAlyZXMgPSBQ U1FMZXhlYyhidWYuZGF0YSk7CkBAIC0yNDUyLDYgKzI0NTQsNDAgQEAgZGVzY3JpYmVPbmVUYWJs ZURldGFpbHMoY29uc3QgY2hhciAqc2NoZW1hbmFtZSwKIAkJUEdyZXN1bHQgICAqcmVzdWx0ID0g TlVMTDsKIAkJaW50CQkJdHVwbGVzID0gMDsKIAorCQkvKiBwcmludCBwZXJpb2RzICovCisJCWlm IChwc2V0LnN2ZXJzaW9uID49IDE4MDAwMCkKKwkJeworCQkJcHJpbnRmUFFFeHBCdWZmZXIoJmJ1 ZiwKKwkJCQkJCQkgICJTRUxFQ1QgcXVvdGVfaWRlbnQocC5wZXJuYW1lKSwgcXVvdGVfaWRlbnQo cy5hdHRuYW1lKSBBUyBzdGFydGF0dCwgcXVvdGVfaWRlbnQoZS5hdHRuYW1lKSBBUyBlbmRhdHRc biIKKwkJCQkJCQkgICJGUk9NIHBnX3BlcmlvZCBBUyBwXG4iCisJCQkJCQkJICAiSk9JTiBwZ19h dHRyaWJ1dGUgQVMgcyBPTiAocy5hdHRyZWxpZCwgcy5hdHRudW0pID0gKHAucGVycmVsaWQsIHAu cGVyc3RhcnQpXG4iCisJCQkJCQkJICAiSk9JTiBwZ19hdHRyaWJ1dGUgQVMgZSBPTiAoZS5hdHRy ZWxpZCwgZS5hdHRudW0pID0gKHAucGVycmVsaWQsIHAucGVyZW5kKVxuIgorCQkJCQkJCSAgIldI RVJFIHAucGVycmVsaWQgPSAnJXMnXG4iCisJCQkJCQkJICAiT1JERVIgQlkgMTsiLAorCQkJCQkJ CSAgb2lkKTsKKwkJCXJlc3VsdCA9IFBTUUxleGVjKGJ1Zi5kYXRhKTsKKwkJCWlmICghcmVzdWx0 KQorCQkJCWdvdG8gZXJyb3JfcmV0dXJuOworCQkJZWxzZQorCQkJCXR1cGxlcyA9IFBRbnR1cGxl cyhyZXN1bHQpOworCisJCQlpZiAodHVwbGVzID4gMCkKKwkJCXsKKwkJCQlwcmludFRhYmxlQWRk Rm9vdGVyKCZjb250LCBfKCJQZXJpb2RzOiIpKTsKKwkJCQlmb3IgKGkgPSAwOyBpIDwgdHVwbGVz OyBpKyspCisJCQkJeworCQkJCQkvKiB1bnRyYW5zbGF0ZWQgY29uc3RyYWludCBuYW1lIGFuZCBk ZWYgKi8KKwkJCQkJcHJpbnRmUFFFeHBCdWZmZXIoJmJ1ZiwgIiAgICAlcyAoJXMsICVzKSIsCisJ CQkJCQkJCQkgIFBRZ2V0dmFsdWUocmVzdWx0LCBpLCAwKSwKKwkJCQkJCQkJCSAgUFFnZXR2YWx1 ZShyZXN1bHQsIGksIDEpLAorCQkJCQkJCQkJICBQUWdldHZhbHVlKHJlc3VsdCwgaSwgMikpOwor CisJCQkJCXByaW50VGFibGVBZGRGb290ZXIoJmNvbnQsIGJ1Zi5kYXRhKTsKKwkJCQl9CisJCQl9 CisJCQlQUWNsZWFyKHJlc3VsdCk7CisJCX0KKwogCQkvKiBwcmludCBpbmRleGVzICovCiAJCWlm ICh0YWJsZWluZm8uaGFzaW5kZXgpCiAJCXsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvTWFrZWZpbGUgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlCmluZGV4IDJiYmM3ODA1 ZmUzLi5iOWFlZTJjYTQ5ZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9NYWtlZmls ZQorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL01ha2VmaWxlCkBAIC02NSw2ICs2NSw3IEBAIENB VEFMT0dfSEVBREVSUyA6PSBcCiAJcGdfZm9yZWlnbl9zZXJ2ZXIuaCBcCiAJcGdfdXNlcl9tYXBw aW5nLmggXAogCXBnX2ZvcmVpZ25fdGFibGUuaCBcCisJcGdfcGVyaW9kLmggXAogCXBnX3BvbGlj eS5oIFwKIAlwZ19yZXBsaWNhdGlvbl9vcmlnaW4uaCBcCiAJcGdfZGVmYXVsdF9hY2wuaCBcCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL2hlYXAuaCBiL3NyYy9pbmNsdWRlL2NhdGFs b2cvaGVhcC5oCmluZGV4IGRiZDMzOWU5ZGY0Li4zZWM1YTU4M2Q3OCAxMDA2NDQKLS0tIGEvc3Jj L2luY2x1ZGUvY2F0YWxvZy9oZWFwLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9oZWFwLmgK QEAgLTEyNSw2ICsxMjUsMTAgQEAgZXh0ZXJuIHZvaWQgU3RvcmVBdHRyTWlzc2luZ1ZhbChSZWxh dGlvbiByZWwsIEF0dHJOdW1iZXIgYXR0bnVtLAogCQkJCQkJCQlEYXR1bSBtaXNzaW5ndmFsKTsK IGV4dGVybiB2b2lkIFNldEF0dHJNaXNzaW5nKE9pZCByZWxpZCwgY2hhciAqYXR0bmFtZSwgY2hh ciAqdmFsdWUpOwogCitleHRlcm4gT2lkCVN0b3JlUGVyaW9kKFJlbGF0aW9uIHJlbCwgY29uc3Qg Y2hhciAqcGVyaW9kLAorCQkJCQkJQXR0ck51bWJlciBzdGFydG51bSwgQXR0ck51bWJlciBlbmRu dW0sCisJCQkJCQlBdHRyTnVtYmVyIHJhbmdlbnVtLCBPaWQgY29ub2lkKTsKKwogZXh0ZXJuIE5v ZGUgKmNvb2tEZWZhdWx0KFBhcnNlU3RhdGUgKnBzdGF0ZSwKIAkJCQkJCSBOb2RlICpyYXdfZGVm YXVsdCwKIAkJCQkJCSBPaWQgYXR0dHlwaWQsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRh bG9nL21lc29uLmJ1aWxkIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZAppbmRleCBl YzFjZjQ2N2Y2Zi4uODdjYjRjZTMzMDAgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cv bWVzb24uYnVpbGQKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9tZXNvbi5idWlsZApAQCAtNjEs NiArNjEsNyBAQCBjYXRhbG9nX2hlYWRlcnMgPSBbCiAgICdwZ19jb2xsYXRpb24uaCcsCiAgICdw Z19wYXJhbWV0ZXJfYWNsLmgnLAogICAncGdfcGFydGl0aW9uZWRfdGFibGUuaCcsCisgICdwZ19w ZXJpb2QuaCcsCiAgICdwZ19yYW5nZS5oJywKICAgJ3BnX3RyYW5zZm9ybS5oJywKICAgJ3BnX3Nl cXVlbmNlLmgnLApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19jb25zdHJhaW50 LmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX2NvbnN0cmFpbnQuaAppbmRleCBmOGEwMWQ4OTYx Ny4uMmY3ZjlhNTRjMmUgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3Ry YWludC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfY29uc3RyYWludC5oCkBAIC0yNjYs NyArMjY2LDggQEAgZXh0ZXJuIEF0dHJOdW1iZXIgZXh0cmFjdE5vdE51bGxDb2x1bW4oSGVhcFR1 cGxlIGNvbnN0clR1cCk7CiBleHRlcm4gYm9vbCBBZGp1c3ROb3ROdWxsSW5oZXJpdGFuY2UoT2lk IHJlbGlkLCBBdHRyTnVtYmVyIGF0dG51bSwKIAkJCQkJCQkJCSBib29sIGlzX2xvY2FsLCBib29s IGlzX25vX2luaGVyaXQsIGJvb2wgaXNfbm90dmFsaWQpOwogZXh0ZXJuIExpc3QgKlJlbGF0aW9u R2V0Tm90TnVsbENvbnN0cmFpbnRzKE9pZCByZWxpZCwgYm9vbCBjb29rZWQsCi0JCQkJCQkJCQkJ ICAgYm9vbCBpbmNsdWRlX25vaW5oKTsKKwkJCQkJCQkJCQkgICBib29sIGluY2x1ZGVfbm9pbmgs CisJCQkJCQkJCQkJICAgQml0bWFwc2V0ICpleGNsdWRlcyk7CiAKIGV4dGVybiB2b2lkIFJlbW92 ZUNvbnN0cmFpbnRCeUlkKE9pZCBjb25JZCk7CiBleHRlcm4gdm9pZCBSZW5hbWVDb25zdHJhaW50 QnlJZChPaWQgY29uSWQsIGNvbnN0IGNoYXIgKm5ld25hbWUpOwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvY2F0YWxvZy9wZ19pbmRleC5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19pbmRleC5o CmluZGV4IDczMWQzOTM4MTY5Li44OTBmZjU1MTE3NiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv Y2F0YWxvZy9wZ19pbmRleC5oCisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfaW5kZXguaApA QCAtNDgsNyArNDgsNiBAQCBDQVRBTE9HKHBnX2luZGV4LDI2MTAsSW5kZXhSZWxhdGlvbklkKSBC S0lfU0NIRU1BX01BQ1JPCiAJLyogdmFyaWFibGUtbGVuZ3RoIGZpZWxkcyBzdGFydCBoZXJlLCBi dXQgd2UgYWxsb3cgZGlyZWN0IGFjY2VzcyB0byBpbmRrZXkgKi8KIAlpbnQydmVjdG9yCWluZGtl eSBCS0lfRk9SQ0VfTk9UX05VTEw7CS8qIGNvbHVtbiBudW1iZXJzIG9mIGluZGV4ZWQgY29scywK IAkJCQkJCQkJCQkJICogb3IgMCAqLwotCiAjaWZkZWYgQ0FUQUxPR19WQVJMRU4KIAlvaWR2ZWN0 b3IJaW5kY29sbGF0aW9uIEJLSV9MT09LVVBfT1BUKHBnX2NvbGxhdGlvbikgQktJX0ZPUkNFX05P VF9OVUxMOwkvKiBjb2xsYXRpb24gaWRlbnRpZmllcnMgKi8KIAlvaWR2ZWN0b3IJaW5kY2xhc3Mg QktJX0xPT0tVUChwZ19vcGNsYXNzKSBCS0lfRk9SQ0VfTk9UX05VTEw7IC8qIG9wY2xhc3MgaWRl bnRpZmllcnMgKi8KZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcGVyaW9kLmgg Yi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3BlcmlvZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi42NWE3NGRmYTE4YgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNs dWRlL2NhdGFsb2cvcGdfcGVyaW9kLmgKQEAgLTAsMCArMSw1OCBAQAorLyotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgKgorICogcGdfcGVyaW9kLmgKKyAqCSAgZGVmaW5pdGlvbiBvZiB0aGUgInBlcmlvZCIg c3lzdGVtIGNhdGFsb2cgKHBnX3BlcmlvZCkKKyAqCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0 IChjKSAxOTk2LTIwMjEsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisgKgor ICogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wZXJpb2QuaAorICoKKyAqIE5PVEVTCisgKgkgIFRo ZSBDYXRhbG9nLnBtIG1vZHVsZSByZWFkcyB0aGlzIGZpbGUgYW5kIGRlcml2ZXMgc2NoZW1hCisg KgkgIGluZm9ybWF0aW9uLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICovCisjaWZuZGVmIFBH X1BFUklPRF9ICisjZGVmaW5lIFBHX1BFUklPRF9ICisKKyNpbmNsdWRlICJjYXRhbG9nL2dlbmJr aS5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfcGVyaW9kX2QuaCIKKyNpbmNsdWRlICJub2Rlcy9i aXRtYXBzZXQuaCIKKworLyogLS0tLS0tLS0tLS0tLS0tLQorICoJCXBnX3BlcmlvZCBkZWZpbml0 aW9uLiAgY3BwIHR1cm5zIHRoaXMgaW50bworICoJCXR5cGVkZWYgc3RydWN0IEZvcm1EYXRhX3Bn X3BlcmlvZAorICogLS0tLS0tLS0tLS0tLS0tLQorICovCitDQVRBTE9HKHBnX3BlcmlvZCw4MDAw LFBlcmlvZFJlbGF0aW9uSWQpCit7CisJT2lkCQkJb2lkOwkJCS8qIE9JRCBvZiB0aGUgcGVyaW9k ICovCisJTmFtZURhdGEJcGVybmFtZTsJCS8qIG5hbWUgb2YgcGVyaW9kICovCisJT2lkCQkJcGVy cmVsaWQ7CQkvKiBPSUQgb2YgcmVsYXRpb24gY29udGFpbmluZyB0aGlzIHBlcmlvZCAqLworCWlu dDE2CQlwZXJzdGFydDsJCS8qIGNvbHVtbiBmb3Igc3RhcnQgdmFsdWUgKi8KKwlpbnQxNgkJcGVy ZW5kOwkJCS8qIGNvbHVtbiBmb3IgZW5kIHZhbHVlICovCisJaW50MTYJCXBlcnJhbmdlOwkJLyog Y29sdW1uIGZvciByYW5nZSB2YWx1ZSAqLworCU9pZAkJCXBlcmNvbnN0cmFpbnQ7CS8qIE9JRCBv ZiAoc3RhcnQgPCBlbmQpIGNvbnN0cmFpbnQgKi8KK30gRm9ybURhdGFfcGdfcGVyaW9kOworCisv KiAtLS0tLS0tLS0tLS0tLS0tCisgKgkJRm9ybV9wZ19wZXJpb2QgY29ycmVzcG9uZHMgdG8gYSBw b2ludGVyIHRvIGEgdHVwbGUgd2l0aAorICoJCXRoZSBmb3JtYXQgb2YgcGdfcGVyaW9kIHJlbGF0 aW9uLgorICogLS0tLS0tLS0tLS0tLS0tLQorICovCit0eXBlZGVmIEZvcm1EYXRhX3BnX3Blcmlv ZCAqRm9ybV9wZ19wZXJpb2Q7CisKK0RFQ0xBUkVfVU5JUVVFX0lOREVYX1BLRVkocGdfcGVyaW9k X29pZF9pbmRleCwgODAwMSwgUGVyaW9kT2JqZWN0SW5kZXhJZCwgcGdfcGVyaW9kLCBidHJlZShv aWQgb2lkX29wcykpOworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfcGVyaW9kX3BlcnJlbGlkX3Bl cm5hbWVfaW5kZXgsIDgwMDIsIFBlcmlvZFJlbGlkTmFtZUluZGV4SWQsIHBnX3BlcmlvZCwgYnRy ZWUocGVycmVsaWQgb2lkX29wcywgcGVybmFtZSBuYW1lX29wcykpOworCitNQUtFX1NZU0NBQ0hF KFBFUklPRE9JRCwgcGdfcGVyaW9kX29pZF9pbmRleCwgMzIpOworTUFLRV9TWVNDQUNIRShQRVJJ T0ROQU1FLCBwZ19wZXJpb2RfcGVycmVsaWRfcGVybmFtZV9pbmRleCwgMzIpOworCitleHRlcm4g dm9pZCBSZW1vdmVQZXJpb2RCeUlkKE9pZCBwZXJpb2RJZCk7CisKK2V4dGVybiBPaWQJZ2V0X3Jl bGF0aW9uX3BlcmlvZF9vaWQoT2lkIHJlbGlkLCBjb25zdCBjaGFyICpwZXJuYW1lLCBib29sIG1p c3Npbmdfb2spOworZXh0ZXJuIEJpdG1hcHNldCAqZ2V0X3BlcmlvZF9hdHRub3MoT2lkIHJlbGlk KTsKKworI2VuZGlmCQkJCQkJCS8qIFBHX1BFUklPRF9IICovCmRpZmYgLS1naXQgYS9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3JhbmdlLmggYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3JhbmdlLmgK aW5kZXggM2JiYTYxNjI3ODIuLjg5ZTYwZDZjYmYxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3JhbmdlLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19yYW5nZS5oCkBA IC01OSw4ICs1OSwxMCBAQCB0eXBlZGVmIEZvcm1EYXRhX3BnX3JhbmdlICpGb3JtX3BnX3Jhbmdl OwogCiBERUNMQVJFX1VOSVFVRV9JTkRFWF9QS0VZKHBnX3JhbmdlX3JuZ3R5cGlkX2luZGV4LCAz NTQyLCBSYW5nZVR5cGlkSW5kZXhJZCwgcGdfcmFuZ2UsIGJ0cmVlKHJuZ3R5cGlkIG9pZF9vcHMp KTsKIERFQ0xBUkVfVU5JUVVFX0lOREVYKHBnX3JhbmdlX3JuZ211bHRpdHlwaWRfaW5kZXgsIDIy MjgsIFJhbmdlTXVsdGlyYW5nZVR5cGlkSW5kZXhJZCwgcGdfcmFuZ2UsIGJ0cmVlKHJuZ211bHRp dHlwaWQgb2lkX29wcykpOworREVDTEFSRV9VTklRVUVfSU5ERVgocGdfcmFuZ2Vfcm5nc3VidHlw ZV9ybmd0eXBpZF9pbmRleCwgODAwMywgUmFuZ2VTdWJUeXBpZFR5cGlkSW5kZXhJZCwgcGdfcmFu Z2UsIGJ0cmVlKHJuZ3N1YnR5cGUgb2lkX29wcywgcm5ndHlwaWQgb2lkX29wcykpOwogCiBNQUtF X1NZU0NBQ0hFKFJBTkdFVFlQRSwgcGdfcmFuZ2Vfcm5ndHlwaWRfaW5kZXgsIDQpOworTUFLRV9T WVNDQUNIRShSQU5HRVNVQlRZUEUsIHBnX3JhbmdlX3JuZ3N1YnR5cGVfcm5ndHlwaWRfaW5kZXgs IDQpOwogTUFLRV9TWVNDQUNIRShSQU5HRU1VTFRJUkFOR0UsIHBnX3JhbmdlX3JuZ211bHRpdHlw aWRfaW5kZXgsIDQpOwogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY29tbWFuZHMvdGFi bGVjbWRzLmggYi9zcmMvaW5jbHVkZS9jb21tYW5kcy90YWJsZWNtZHMuaAppbmRleCBlOWIwZmFi MDc2Ny4uYmY4ZDZlMzMxODMgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxl Y21kcy5oCisrKyBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RhYmxlY21kcy5oCkBAIC00MSw3ICs0 MSw4IEBAIGV4dGVybiBMT0NLTU9ERSBBbHRlclRhYmxlR2V0TG9ja0xldmVsKExpc3QgKmNtZHMp OwogCiBleHRlcm4gdm9pZCBBVEV4ZWNDaGFuZ2VPd25lcihPaWQgcmVsYXRpb25PaWQsIE9pZCBu ZXdPd25lcklkLCBib29sIHJlY3Vyc2luZywgTE9DS01PREUgbG9ja21vZGUpOwogCi1leHRlcm4g dm9pZCBBbHRlclRhYmxlSW50ZXJuYWwoT2lkIHJlbGlkLCBMaXN0ICpjbWRzLCBib29sIHJlY3Vy c2UpOworZXh0ZXJuIHZvaWQgQWx0ZXJUYWJsZUludGVybmFsKE9pZCByZWxpZCwgTGlzdCAqY21k cywgYm9vbCByZWN1cnNlLAorCQkJCQkJCSAgIHN0cnVjdCBBbHRlclRhYmxlVXRpbGl0eUNvbnRl eHQgKmNvbnRleHQpOwogCiBleHRlcm4gT2lkCUFsdGVyVGFibGVNb3ZlQWxsKEFsdGVyVGFibGVN b3ZlQWxsU3RtdCAqc3RtdCk7CiAKQEAgLTEwNyw1ICsxMDgsNiBAQCBleHRlcm4gdm9pZCBSYW5n ZVZhckNhbGxiYWNrT3duc1JlbGF0aW9uKGNvbnN0IFJhbmdlVmFyICpyZWxhdGlvbiwKIAkJCQkJ CQkJCQkgT2lkIHJlbElkLCBPaWQgb2xkUmVsSWQsIHZvaWQgKmFyZyk7CiBleHRlcm4gYm9vbCBQ YXJ0Q29uc3RyYWludEltcGxpZWRCeVJlbENvbnN0cmFpbnQoUmVsYXRpb24gc2NhbnJlbCwKIAkJ CQkJCQkJCQkJCSBMaXN0ICpwYXJ0Q29uc3RyYWludCk7CitleHRlcm4gT2lkCWNob29zZV9yYW5n ZXR5cGVfZm9yX3BlcmlvZChQZXJpb2REZWYgKnBlcmlvZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBU QUJMRUNNRFNfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvbm9kZXMvZXhlY25vZGVzLmgg Yi9zcmMvaW5jbHVkZS9ub2Rlcy9leGVjbm9kZXMuaAppbmRleCA3N2M5NDY5MTM5Yi4uYTBmYjU2 ZDYzZmQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCisrKyBiL3Ny Yy9pbmNsdWRlL25vZGVzL2V4ZWNub2Rlcy5oCkBAIC00NjUsNiArNDY1LDEwIEBAIHR5cGVkZWYg c3RydWN0IEZvclBvcnRpb25PZlN0YXRlCiAJY2hhcgkgICAqZnBfcmFuZ2VOYW1lOwkvKiB0aGUg Y29sdW1uIG5hbWVkIGluIEZPUiBQT1JUSU9OIE9GICovCiAJT2lkCQkJZnBfcmFuZ2VUeXBlOwkv KiB0aGUgdHlwZSBvZiB0aGUgRk9SIFBPUlRJT04gT0YgZXhwcmVzc2lvbiAqLwogCWludAkJCWZw X3JhbmdlQXR0bm87CS8qIHRoZSBhdHRubyBvZiB0aGUgcmFuZ2UgY29sdW1uICovCisJaW50CQkJ ZnBfcGVyaW9kU3RhcnRBdHRubzsJLyogdGhlIGF0dG5vIG9mIHRoZSBQRVJJT0Qgc3RhcnQKKwkJ CQkJCQkJCQkgKiBjb2x1bW4gKG9yIDAgZm9yIGEgcmFuZ2UpICovCisJaW50CQkJZnBfcGVyaW9k RW5kQXR0bm87CS8qIHRoZSBhdHRubyBvZiB0aGUgUEVSSU9EIGVuZCBjb2x1bW4gKG9yCisJCQkJ CQkJCQkgKiAwIGZvciBhIHJhbmdlKSAqLwogCURhdHVtCQlmcF90YXJnZXRSYW5nZTsgLyogdGhl IHJhbmdlL211bHRpcmFuZ2UgZnJvbSBGT1IgUE9SVElPTiBPRiAqLwogCVR5cGVDYWNoZUVudHJ5 ICpmcF9sZWZ0b3ZlcnN0eXBjYWNoZTsJLyogdHlwZSBjYWNoZSBlbnRyeSBvZiB0aGUgcmFuZ2Ug Ki8KIAlUdXBsZVRhYmxlU2xvdCAqZnBfRXhpc3Rpbmc7CS8qIHNsb3QgdG8gc3RvcmUgb2xkIHR1 cGxlICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmggYi9zcmMv aW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKaW5kZXggNWUxZWIwYjFkNDguLmZmOWM5NDQwMmRk IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9ub2Rlcy9wYXJzZW5vZGVzLmgKKysrIGIvc3JjL2lu Y2x1ZGUvbm9kZXMvcGFyc2Vub2Rlcy5oCkBAIC0yMzcwLDYgKzIzNzAsNyBAQCB0eXBlZGVmIGVu dW0gT2JqZWN0VHlwZQogCU9CSkVDVF9PUEVSQVRPUiwKIAlPQkpFQ1RfT1BGQU1JTFksCiAJT0JK RUNUX1BBUkFNRVRFUl9BQ0wsCisJT0JKRUNUX1BFUklPRCwKIAlPQkpFQ1RfUE9MSUNZLAogCU9C SkVDVF9QUk9DRURVUkUsCiAJT0JKRUNUX1BVQkxJQ0FUSU9OLApAQCAtMjQ1Nyw2ICsyNDU4LDgg QEAgdHlwZWRlZiBlbnVtIEFsdGVyVGFibGVUeXBlCiAJQVRfVmFsaWRhdGVDb25zdHJhaW50LAkJ LyogdmFsaWRhdGUgY29uc3RyYWludCAqLwogCUFUX0FkZEluZGV4Q29uc3RyYWludCwJCS8qIGFk ZCBjb25zdHJhaW50IHVzaW5nIGV4aXN0aW5nIGluZGV4ICovCiAJQVRfRHJvcENvbnN0cmFpbnQs CQkJLyogZHJvcCBjb25zdHJhaW50ICovCisJQVRfQWRkUGVyaW9kLAkJCQkvKiBBREQgUEVSSU9E ICovCisJQVRfRHJvcFBlcmlvZCwJCQkJLyogRFJPUCBQRVJJT0QgKi8KIAlBVF9SZUFkZENvbW1l bnQsCQkJLyogaW50ZXJuYWwgdG8gY29tbWFuZHMvdGFibGVjbWRzLmMgKi8KIAlBVF9BbHRlckNv bHVtblR5cGUsCQkJLyogYWx0ZXIgY29sdW1uIHR5cGUgKi8KIAlBVF9BbHRlckNvbHVtbkdlbmVy aWNPcHRpb25zLAkvKiBhbHRlciBjb2x1bW4gT1BUSU9OUyAoLi4uKSAqLwpAQCAtMjc1NiwxMSAr Mjc1OSwxMiBAQCB0eXBlZGVmIHN0cnVjdCBWYXJpYWJsZVNob3dTdG10CiAvKiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tCiAgKgkJQ3JlYXRlIFRhYmxlIFN0YXRlbWVudAogICoKLSAqIE5PVEU6IGlu IHRoZSByYXcgZ3JhbS55IG91dHB1dCwgQ29sdW1uRGVmIGFuZCBDb25zdHJhaW50IG5vZGVzIGFy ZQotICogaW50ZXJtaXhlZCBpbiB0YWJsZUVsdHMsIGFuZCBjb25zdHJhaW50cyBhbmQgbm5jb25z dHJhaW50cyBhcmUgTklMLiAgQWZ0ZXIKKyAqIE5PVEU6IGluIHRoZSByYXcgZ3JhbS55IG91dHB1 dCwgQ29sdW1uRGVmLCBQZXJpb2REZWYsIGFuZCBDb25zdHJhaW50IG5vZGVzIGFyZQorICogaW50 ZXJtaXhlZCBpbiB0YWJsZUVsdHM7IGNvbnN0cmFpbnRzLCBubmNvbnN0cmFpbnRzLCBhbmQgcGVy aW9kcyBhcmUgTklMLiAgQWZ0ZXIKICAqIHBhcnNlIGFuYWx5c2lzLCB0YWJsZUVsdHMgY29udGFp bnMganVzdCBDb2x1bW5EZWZzLCBubmNvbnN0cmFpbnRzIGNvbnRhaW5zCi0gKiBDb25zdHJhaW50 IG5vZGVzIG9mIENPTlNUUl9OT1ROVUxMIHR5cGUgZnJvbSB2YXJpb3VzIHNvdXJjZXMsIGFuZAot ICogY29uc3RyYWludHMgY29udGFpbnMganVzdCBDT05TVFJfQ0hFQ0sgQ29uc3RyYWludCBub2Rl cy4KKyAqIENvbnN0cmFpbnQgbm9kZXMgb2YgQ09OU1RSX05PVE5VTEwgdHlwZSBmcm9tIHZhcmlv dXMgc291cmNlcywgY29uc3RyYWludHMKKyAqIGNvbnRhaW5zIGp1c3QgQ09OU1RSX0NIRUNLIENv bnN0cmFpbnQgbm9kZXMsIGFuZCBwZXJpb2RzIGNvbnRhaW5zIGp1c3QKKyAqIFBlcmlvZERlZnMu CiAgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgKi8KIApAQCAtMjc2OSw2ICsyNzczLDcgQEAg dHlwZWRlZiBzdHJ1Y3QgQ3JlYXRlU3RtdAogCU5vZGVUYWcJCXR5cGU7CiAJUmFuZ2VWYXIgICAq cmVsYXRpb247CQkvKiByZWxhdGlvbiB0byBjcmVhdGUgKi8KIAlMaXN0CSAgICp0YWJsZUVsdHM7 CQkvKiBjb2x1bW4gZGVmaW5pdGlvbnMgKGxpc3Qgb2YgQ29sdW1uRGVmKSAqLworCUxpc3QJICAg KnBlcmlvZHM7CQkvKiBwZXJpb2RzIChsaXN0IG9mIFBlcmlvZERlZiBub2RlcykgKi8KIAlMaXN0 CSAgICppbmhSZWxhdGlvbnM7CS8qIHJlbGF0aW9ucyB0byBpbmhlcml0IGZyb20gKGxpc3Qgb2YK IAkJCQkJCQkJICogUmFuZ2VWYXIpICovCiAJUGFydGl0aW9uQm91bmRTcGVjICpwYXJ0Ym91bmQ7 CS8qIEZPUiBWQUxVRVMgY2xhdXNlICovCkBAIC0yNzgzLDYgKzI3ODgsMzEgQEAgdHlwZWRlZiBz dHJ1Y3QgQ3JlYXRlU3RtdAogCWJvb2wJCWlmX25vdF9leGlzdHM7CS8qIGp1c3QgZG8gbm90aGlu ZyBpZiBpdCBhbHJlYWR5IGV4aXN0cz8gKi8KIH0gQ3JlYXRlU3RtdDsKIAorCisvKiAtLS0tLS0t LS0tCisgKiBEZWZpbml0aW9ucyBmb3IgcGVyaW9kcyBpbiBDcmVhdGVTdG10CisgKiAtLS0tLS0t LS0tCisgKi8KKwordHlwZWRlZiBzdHJ1Y3QgUGVyaW9kRGVmCit7CisJTm9kZVRhZwkJdHlwZTsK KwlPaWQJCQlvaWQ7CQkJLyogcGVyaW9kIG9pZCwgb25jZSBpdCdzIHRyYW5zZm9ybWVkICovCisJ Y2hhcgkgICAqcGVyaW9kbmFtZTsJCS8qIHBlcmlvZCBuYW1lICovCisJY2hhcgkgICAqc3RhcnRj b2xuYW1lOwkvKiBuYW1lIG9mIHN0YXJ0IGNvbHVtbiAqLworCWNoYXIJICAgKmVuZGNvbG5hbWU7 CQkvKiBuYW1lIG9mIGVuZCBjb2x1bW4gKi8KKwlBdHRyTnVtYmVyCXN0YXJ0YXR0bnVtOwkvKiBh dHRudW0gb2YgdGhlIHN0YXJ0IGNvbHVtbiAqLworCUF0dHJOdW1iZXIJZW5kYXR0bnVtOwkJLyog YXR0bnVtIG9mIHRoZSBlbmQgY29sdW1uICovCisJQXR0ck51bWJlcglybmdhdHRudW07CQkvKiBh dHRudW0gb2YgdGhlIEdFTkVSQVRFRCByYW5nZSBjb2x1bW4gKi8KKwlMaXN0CSAgICpvcHRpb25z OwkJLyogb3B0aW9ucyBmcm9tIFdJVEggY2xhdXNlICovCisJY2hhcgkgICAqY29uc3RyYWludG5h bWU7IC8qIG5hbWUgb2YgdGhlIENIRUNLIGNvbnN0cmFpbnQgKi8KKwljaGFyCSAgICpyYW5nZXR5 cGVuYW1lOwkvKiBuYW1lIG9mIHRoZSByYW5nZSB0eXBlICovCisJT2lkCQkJY29sdHlwaWQ7CQkv KiB0aGUgc3RhcnQvZW5kIGNvbCB0eXBlICovCisJT2lkCQkJcm5ndHlwaWQ7CQkvKiB0aGUgcmFu Z2UgdHlwZSB0byB1c2UgKi8KKwlib29sCQljb2xleGlzdHM7CQkvKiB1c2UgYW4gZXhpc3Rpbmcg R0VORVJBVEVEIGNvbHVtbiAqLworCWludAkJCWxvY2F0aW9uOwkJLyogdG9rZW4gbG9jYXRpb24s IG9yIC0xIGlmIHVua25vd24gKi8KK30gUGVyaW9kRGVmOworCiAvKiAtLS0tLS0tLS0tCiAgKiBE ZWZpbml0aW9ucyBmb3IgY29uc3RyYWludHMgaW4gQ3JlYXRlU3RtdAogICoKQEAgLTM1MDksNiAr MzUzOSw3IEBAIHR5cGVkZWYgc3RydWN0IEluZGV4U3RtdAogCUxpc3QJICAgKmluZGV4UGFyYW1z OwkvKiBjb2x1bW5zIHRvIGluZGV4OiBhIGxpc3Qgb2YgSW5kZXhFbGVtICovCiAJTGlzdAkgICAq aW5kZXhJbmNsdWRpbmdQYXJhbXM7CS8qIGFkZGl0aW9uYWwgY29sdW1ucyB0byBpbmRleDogYSBs aXN0CiAJCQkJCQkJCQkJICogb2YgSW5kZXhFbGVtICovCisJUGVyaW9kRGVmICAqcGVyaW9kOwkJ CS8qIFRoZSBwZXJpb2QgaW5jbHVkZWQgaW4gdGhlIGluZGV4ICovCiAJTGlzdAkgICAqb3B0aW9u czsJCS8qIFdJVEggY2xhdXNlIG9wdGlvbnM6IGEgbGlzdCBvZiBEZWZFbGVtICovCiAJTm9kZQkg ICAqd2hlcmVDbGF1c2U7CS8qIHF1YWxpZmljYXRpb24gKHBhcnRpYWwtaW5kZXggcHJlZGljYXRl KSAqLwogCUxpc3QJICAgKmV4Y2x1ZGVPcE5hbWVzOyAvKiBleGNsdXNpb24gb3BlcmF0b3IgbmFt ZXMsIG9yIE5JTCBpZiBub25lICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9ub2Rlcy9wcmlt bm9kZXMuaCBiL3NyYy9pbmNsdWRlL25vZGVzL3ByaW1ub2Rlcy5oCmluZGV4IGZiYmNkNzdkZDg0 Li45M2QwNmVmZTBjZSAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgK KysrIGIvc3JjL2luY2x1ZGUvbm9kZXMvcHJpbW5vZGVzLmgKQEAgLTI0MDMsNiArMjQwMyw4IEBA IHR5cGVkZWYgc3RydWN0IEZvclBvcnRpb25PZkV4cHIKIHsKIAlOb2RlVGFnCQl0eXBlOwogCVZh cgkJICAgKnJhbmdlVmFyOwkJLyogUmFuZ2UgY29sdW1uICovCisJVmFyCQkgICAqc3RhcnRWYXI7 CQkvKiBTdGFydCBjb2x1bW4gaWYgUEVSSU9EICovCisJVmFyCQkgICAqZW5kVmFyOwkJCS8qIEVu ZCBjb2x1bW4gaWYgUEVSSU9EICovCiAJY2hhcgkgICAqcmFuZ2VfbmFtZTsJCS8qIFJhbmdlIG5h bWUgKi8KIAlOb2RlCSAgICp0YXJnZXRSYW5nZTsJLyogRk9SIFBPUlRJT04gT0YgYm91bmRzIGFz IGEgcmFuZ2UgKi8KIAlPaWQJCQlyYW5nZVR5cGU7CQkvKiB0eXBlIG9mIHRhcmdldFJhbmdlICov CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmggYi9zcmMvaW5jbHVkZS9w YXJzZXIva3dsaXN0LmgKaW5kZXggYThkZWYzYTM4NmMuLmNmYzJmNjhjYThhIDEwMDY0NAotLS0g YS9zcmMvaW5jbHVkZS9wYXJzZXIva3dsaXN0LmgKKysrIGIvc3JjL2luY2x1ZGUvcGFyc2VyL2t3 bGlzdC5oCkBAIC0zNDEsNyArMzQxLDcgQEAgUEdfS0VZV09SRCgicGFydGl0aW9uIiwgUEFSVElU SU9OLCBVTlJFU0VSVkVEX0tFWVdPUkQsIEJBUkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwYXNzaW5n IiwgUEFTU0lORywgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdfS0VZV09SRCgi cGFzc3dvcmQiLCBQQVNTV09SRCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVMKQogUEdf S0VZV09SRCgicGF0aCIsIFBBVEgsIFVOUkVTRVJWRURfS0VZV09SRCwgQkFSRV9MQUJFTCkKLVBH X0tFWVdPUkQoInBlcmlvZCIsIFBFUklPRCwgVU5SRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xBQkVM KQorUEdfS0VZV09SRCgicGVyaW9kIiwgUEVSSU9ELCBSRVNFUlZFRF9LRVlXT1JELCBCQVJFX0xB QkVMKQogUEdfS0VZV09SRCgicGxhY2luZyIsIFBMQUNJTkcsIFJFU0VSVkVEX0tFWVdPUkQsIEJB UkVfTEFCRUwpCiBQR19LRVlXT1JEKCJwbGFuIiwgUExBTiwgVU5SRVNFUlZFRF9LRVlXT1JELCBC QVJFX0xBQkVMKQogUEdfS0VZV09SRCgicGxhbnMiLCBQTEFOUywgVU5SRVNFUlZFRF9LRVlXT1JE LCBCQVJFX0xBQkVMKQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNlX3V0aWxj bWQuaCBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV91dGlsY21kLmgKaW5kZXggNDk2NWZhYzQ0 OTUuLmQwZDIzYWYzZDQxIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9wYXJzZXIvcGFyc2VfdXRp bGNtZC5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV91dGlsY21kLmgKQEAgLTQwLDUg KzQwLDYgQEAgZXh0ZXJuIEluZGV4U3RtdCAqZ2VuZXJhdGVDbG9uZWRJbmRleFN0bXQoUmFuZ2VW YXIgKmhlYXBSZWwsCiAJCQkJCQkJCQkJICBSZWxhdGlvbiBzb3VyY2VfaWR4LAogCQkJCQkJCQkJ CSAgY29uc3QgQXR0ck1hcCAqYXR0bWFwLAogCQkJCQkJCQkJCSAgT2lkICpjb25zdHJhaW50T2lk KTsKK2V4dGVybiB2b2lkIHRyYW5zZm9ybVBlcmlvZE9wdGlvbnMoUGVyaW9kRGVmICpwZXJpb2Qp OwogCiAjZW5kaWYJCQkJCQkJLyogUEFSU0VfVVRJTENNRF9IICovCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS91dGlscy9sc3lzY2FjaGUuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5o CmluZGV4IDViNTBlZjIzMGFiLi5lZGRjYTk5N2VmYiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUv dXRpbHMvbHN5c2NhY2hlLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmgKQEAg LTk4LDYgKzk4LDggQEAgZXh0ZXJuIE9pZAlnZXRfYXR0dHlwZShPaWQgcmVsaWQsIEF0dHJOdW1i ZXIgYXR0bnVtKTsKIGV4dGVybiB2b2lkIGdldF9hdHR0eXBldHlwbW9kY29sbChPaWQgcmVsaWQs IEF0dHJOdW1iZXIgYXR0bnVtLAogCQkJCQkJCQkgIE9pZCAqdHlwaWQsIGludDMyICp0eXBtb2Qs IE9pZCAqY29sbGlkKTsKIGV4dGVybiBEYXR1bSBnZXRfYXR0b3B0aW9ucyhPaWQgcmVsaWQsIGlu dDE2IGF0dG51bSk7CitleHRlcm4gY2hhciAqZ2V0X3BlcmlvZG5hbWUoT2lkIHBlcmlvZGlkLCBi b29sIG1pc3Npbmdfb2spOworZXh0ZXJuIE9pZAlnZXRfcGVyaW9kX29pZChPaWQgcmVsaWQsIGNv bnN0IGNoYXIgKnBlcmlvZG5hbWUsIGJvb2wgbWlzc2luZ19vayk7CiBleHRlcm4gT2lkCWdldF9j YXN0X29pZChPaWQgc291cmNldHlwZWlkLCBPaWQgdGFyZ2V0dHlwZWlkLCBib29sIG1pc3Npbmdf b2spOwogZXh0ZXJuIGNoYXIgKmdldF9jb2xsYXRpb25fbmFtZShPaWQgY29sbG9pZCk7CiBleHRl cm4gYm9vbCBnZXRfY29sbGF0aW9uX2lzZGV0ZXJtaW5pc3RpYyhPaWQgY29sbG9pZCk7CkBAIC0y MDMsNiArMjA1LDcgQEAgZXh0ZXJuIE9pZAlnZXRfcmFuZ2Vfc3VidHlwZShPaWQgcmFuZ2VPaWQp OwogZXh0ZXJuIE9pZAlnZXRfcmFuZ2VfY29sbGF0aW9uKE9pZCByYW5nZU9pZCk7CiBleHRlcm4g T2lkCWdldF9yYW5nZV9tdWx0aXJhbmdlKE9pZCByYW5nZU9pZCk7CiBleHRlcm4gT2lkCWdldF9t dWx0aXJhbmdlX3JhbmdlKE9pZCBtdWx0aXJhbmdlT2lkKTsKK2V4dGVybiBPaWQJZ2V0X3N1YnR5 cGVfcmFuZ2UoT2lkIHN1YnR5cGVPaWQpOwogZXh0ZXJuIE9pZAlnZXRfaW5kZXhfY29sdW1uX29w Y2xhc3MoT2lkIGluZGV4X29pZCwgaW50IGF0dG5vKTsKIGV4dGVybiBib29sIGdldF9pbmRleF9p c3JlcGxpZGVudChPaWQgaW5kZXhfb2lkKTsKIGV4dGVybiBib29sIGdldF9pbmRleF9pc3ZhbGlk KE9pZCBpbmRleF9vaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvcGVyaW9kLmgg Yi9zcmMvaW5jbHVkZS91dGlscy9wZXJpb2QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAwMC4uZDAyYzE3MDM2ZmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvaW5jbHVkZS91 dGlscy9wZXJpb2QuaApAQCAtMCwwICsxLDIxIEBACisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisg KiBwZXJpb2QuaAorICoJICBzdXBwb3J0IGZvciBQb3N0Z3JlcyBwZXJpb2RzLgorICoKKyAqCisg KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyMiwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2 ZWxvcG1lbnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBv ZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICogc3JjL2luY2x1ZGUvdXRpbHMv cGVyaW9kLmgKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2lmbmRlZiBQRVJJT0RfSAor I2RlZmluZSBQRVJJT0RfSAorCisjaW5jbHVkZSAiZXhlY3V0b3IvdHVwdGFibGUuaCIKKworZXh0 ZXJuIERhdHVtIHBlcmlvZF90b19yYW5nZShUdXBsZVRhYmxlU2xvdCAqc2xvdCwgaW50IHN0YXJ0 YXR0bm8sIGludCBlbmRhdHRubywgT2lkIHJhbmdldHlwZSk7CisKKyNlbmRpZgkJCQkJCQkvKiBQ RVJJT0RfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2RkbF9kZXBhcnNl L3Rlc3RfZGRsX2RlcGFyc2UuYyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS90 ZXN0X2RkbF9kZXBhcnNlLmMKaW5kZXggMTkzNjY5ZjJiYzEuLjllZDQyOWZkYWRkIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfZGRsX2RlcGFyc2UvdGVzdF9kZGxfZGVwYXJzZS5j CisrKyBiL3NyYy90ZXN0L21vZHVsZXMvdGVzdF9kZGxfZGVwYXJzZS90ZXN0X2RkbF9kZXBhcnNl LmMKQEAgLTE3OSw2ICsxNzksMTIgQEAgZ2V0X2FsdGVydGFibGVfc3ViY21kaW5mbyhQR19GVU5D VElPTl9BUkdTKQogCQkJY2FzZSBBVF9Ecm9wQ29uc3RyYWludDoKIAkJCQlzdHJ0eXBlID0gIkRS T1AgQ09OU1RSQUlOVCI7CiAJCQkJYnJlYWs7CisJCQljYXNlIEFUX0FkZFBlcmlvZDoKKwkJCQlz dHJ0eXBlID0gIkFERCBQRVJJT0QiOworCQkJCWJyZWFrOworCQkJY2FzZSBBVF9Ecm9wUGVyaW9k OgorCQkJCXN0cnR5cGUgPSAiRFJPUCBQRVJJT0QiOworCQkJCWJyZWFrOwogCQkJY2FzZSBBVF9S ZUFkZENvbW1lbnQ6CiAJCQkJc3RydHlwZSA9ICIocmUpIEFERCBDT01NRU5UIjsKIAkJCQlicmVh azsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yX3BvcnRpb25fb2Yu b3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JfcG9ydGlvbl9vZi5vdXQKaW5kZXgg NTJmYjA0NGQyZTUuLmMwZDBkZTdlODEwIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL2Zvcl9wb3J0aW9uX29mLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2Zvcl9wb3J0aW9uX29mLm91dApAQCAtMTEwMCw2ICsxMTAwLDY0IEBAIFNFTEVDVCAqIEZST00g Zm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwogIFszLDQpIHwge1sy MDE4LTAxLTAxLCl9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IHRocmVlCiAoNiByb3dzKQogCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9u X29mX3Rlc3QyOworLS0gVGVzdCB3aXRoIFBFUklPRHMKK0NSRUFURSBUQUJMRSBmb3JfcG9ydGlv bl9vZl90ZXN0MiAoCisgIGlkIGludDRyYW5nZSBOT1QgTlVMTCwKKyAgdmFsaWRfZnJvbSBkYXRl LAorICB2YWxpZF90aWwgZGF0ZSwKKyAgbmFtZSB0ZXh0IE5PVCBOVUxMLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIGZvcl9wb3J0 aW9uX29mX3Rlc3QyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKKyk7CitJTlNFUlQgSU5UTyBmb3JfcG9ydGlvbl9vZl90ZXN0MgorVkFMVUVTCisoJ1sxLDIp JywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycsICdvbmUnKSwKKygnWzEsMiknLCAnMjAxOC0w Mi0wNCcsICcyMDE4LTAzLTAzJywgJ29uZScpLAorKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIw MTgtMDQtMDQnLCAnb25lJyksCisoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wNS0wMScs ICd0d28nKSwKKygnWzMsNCknLCAnMjAxOC0wMS0wMScsIG51bGwsICd0aHJlZScpOworOworVVBE QVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKK1NFVCBuYW1lID0gJ29uZV4xJworV0hFUkUgaWQg PSAnWzEsMiknOworREVMRVRFIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIKK0ZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMTUnIFRPICcyMDE4LTAyLTE1JworV0hFUkUgaWQg PSAnWzIsMyknOworLS0gU2V0dGluZyB0aGUgc3RhcnQgY29sdW1uIGZhaWxzOgorVVBEQVRFIGZv cl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAx LTEwJyBUTyAnMjAxOC0wMi0xMCcKK1NFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnCitXSEVS RSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIG11bHRpcGxlIGFzc2lnbm1lbnRzIHRvIHNhbWUgY29s dW1uICJ2YWxpZF9mcm9tIgorLS0gU2V0dGluZyB0aGUgZW5kIGNvbHVtbiBmYWlsczoKK1VQREFU RSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OC0wMS0xMCcgVE8gJzIwMTgtMDItMTAnCitTRVQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnCitX SEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIG11bHRpcGxlIGFzc2lnbm1lbnRzIHRvIHNhbWUg Y29sdW1uICJ2YWxpZF90aWwiCistLSBTZXR0aW5nIHRoZSBnZW5lcmF0ZWQgY29sdW1uIGZhaWxz OgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKK1NFVCB2YWxpZF9hdCA9ICdbMjAxOC0w Mi0wMSwyMDE4LTAyLTAzKScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKK0VSUk9SOiAgY2FuJ3QgZGly ZWN0bHkgYXNzaWduIHRvICJ2YWxpZF9hdCIgaW4gYSBGT1IgUE9SVElPTiBPRiB1cGRhdGUKK0xJ TkUgMzogU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAyLTAxLDIwMTgtMDItMDMpJworICAgICAgICAg ICAgXgorU0VMRUNUICogRlJPTSBmb3JfcG9ydGlvbl9vZl90ZXN0MiBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IG5hbWUgIAorLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0KKyBbMSwyKSB8IDIwMTgtMDEtMDIg fCAyMDE4LTAxLTEwIHwgb25lCisgWzEsMikgfCAyMDE4LTAxLTEwIHwgMjAxOC0wMi0wMyB8IG9u ZV4xCisgWzEsMikgfCAyMDE4LTAyLTA0IHwgMjAxOC0wMi0xMCB8IG9uZV4xCisgWzEsMikgfCAy MDE4LTAyLTEwIHwgMjAxOC0wMy0wMyB8IG9uZQorIFsxLDIpIHwgMjAxOC0wMy0wMyB8IDIwMTgt MDQtMDQgfCBvbmUKKyBbMiwzKSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTE1IHwgdHdvCisgWzIs MykgfCAyMDE4LTAyLTE1IHwgMjAxOC0wNS0wMSB8IHR3bworIFszLDQpIHwgMjAxOC0wMS0wMSB8 ICAgICAgICAgICAgfCB0aHJlZQorKDggcm93cykKKwogRFJPUCBUQUJMRSBmb3JfcG9ydGlvbl9v Zl90ZXN0MjsKIC0tIFRlc3Qgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlCiBDUkVBVEUgVFlQRSBt eWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wZXJpb2RzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cGVyaW9kcy5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmQ0Mjkw OTc2MDBhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wZXJp b2RzLm91dApAQCAtMCwwICsxLDMxOCBAQAorLyogU3lzdGVtIHBlcmlvZHMgYXJlIG5vdCBpbXBs ZW1lbnRlZCAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwZXJpb2QgZm9yIHN5c3RlbV90aW1lIChkcywgZGUpKTsKK0VSUk9SOiAgUEVSSU9EIEZPUiBT WVNURU1fVElNRSBpcyBub3Qgc3VwcG9ydGVkCitMSU5FIDI6IGNyZWF0ZSB0YWJsZSBwdCAoaWQg aW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBzeS4uLgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KKy8qIFBlcmlvZHMg bXVzdCBzcGVjaWZ5IGFjdHVhbCBjb2x1bW5zICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoYm9ndXMsIGRlKSk7CitFUlJPUjog IGNvbHVtbiAiYm9ndXMiIG9mIHJlbGF0aW9uICJwdCIgZG9lcyBub3QgZXhpc3QKK2NyZWF0ZSB0 YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywg Ym9ndXMpKTsKK0VSUk9SOiAgY29sdW1uICJib2d1cyIgb2YgcmVsYXRpb24gInB0IiBkb2VzIG5v dCBleGlzdAorLyogRGF0YSB0eXBlcyBtdXN0IG1hdGNoIGV4YWN0bHkgKi8KK2NyZWF0ZSB0YWJs ZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgdGltZXN0YW1wLCBwZXJpb2QgZm9yIHAgKGRz LCBkZSkpOworRVJST1I6ICBzdGFydCBhbmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9kIG11c3QgYmUg b2Ygc2FtZSB0eXBlCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIHRleHQgY29sbGF0 ZSAiQyIsIGRlIHRleHQgY29sbGF0ZSAiUE9TSVgiLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOwor RVJST1I6ICBzdGFydCBhbmQgZW5kIGNvbHVtbnMgb2YgcGVyaW9kIG11c3QgaGF2ZSBzYW1lIGNv bGxhdGlvbgorLyogUGVyaW9kcyBtdXN0IGhhdmUgYSBkZWZhdWx0IEJUcmVlIG9wZXJhdG9yIGNs YXNzICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIHhtbCwgZGUgeG1sLCBwZXJp b2QgZm9yIHAgKGRzLCBkZSkpOworRVJST1I6ICBubyByYW5nZSB0eXBlIGZvciB4bWwgZm91bmQg Zm9yIHBlcmlvZCBwCitISU5UOiAgWW91IGNhbiBkZWZpbmUgYSBjdXN0b20gcmFuZ2UgdHlwZSB3 aXRoIENSRUFURSBUWVBFCisvKiBQZXJpb2QgYW5kIGNvbHVtbiBuYW1lcyBhcmUgaW4gdGhlIHNh bWUgbmFtZXNwYWNlICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRl IGRhdGUsIHBlcmlvZCBmb3IgY3RpZCAoZHMsIGRlKSk7CitFUlJPUjogIHBlcmlvZCBuYW1lICJj dGlkIiBjb25mbGljdHMgd2l0aCBhIHN5c3RlbSBjb2x1bW4gbmFtZQorY3JlYXRlIHRhYmxlIHB0 IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIGlkIChkcywgZGUpKTsK K0VSUk9SOiAgcGVyaW9kIG5hbWUgImlkIiBjb25mbGljdHMgd2l0aCBhIGNvbHVtbiBuYW1lCisv KiBQZXJpb2QgbmFtZSBjYW4ndCBiZSBnaXZlbiBtb3JlIHRoYW4gb25jZSAqLworY3JlYXRlIHRh YmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBk ZSksIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitFUlJPUjogIHBlcmlvZCBuYW1lICJwIiBzcGVj aWZpZWQgbW9yZSB0aGFuIG9uY2UKKy8qIFBlcmlvZCBjYW4ndCB1c2UgdGhlIHNhbWUgY29sdW0g Zm9yIHN0YXJ0IGFuZCBlbmQqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRl LCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkcykpOworRVJST1I6ICBjb2x1bW4gImRzIiBj YW4ndCBiZSB0aGUgc3RhcnQgYW5kIGVuZCBjb2x1bW4gZm9yIHBlcmlvZCAicCIKKy8qIE5vdyBt YWtlIG9uZSB0aGF0IHdvcmtzICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRh dGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CisvKiBJdHMgZ2VuZXJhdGVkIGNv bHVtbiBsb29rcyBnb29kICovCitzZWxlY3QgYXR0bmFtZSwgYXR0dHlwaWQ6OnJlZ3R5cGUsIGF0 dG5vdG51bGwsIGF0dGdlbmVyYXRlZCBmcm9tIHBnX2F0dHJpYnV0ZSB3aGVyZSBhdHRyZWxpZCA9 ICdwdCc6OnJlZ2NsYXNzIGFuZCBhdHRuYW1lID0gJ3AnOworIGF0dG5hbWUgfCBhdHR0eXBpZCAg fCBhdHRub3RudWxsIHwgYXR0Z2VuZXJhdGVkIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLQorIHAgICAgICAgfCBkYXRlcmFuZ2UgfCB0ICAgICAgICAg IHwgcworKDEgcm93KQorCitzZWxlY3QgY29ubmFtZSwgY29udHlwZSBmcm9tIHBnX2NvbnN0cmFp bnQgd2hlcmUgY29ucmVsaWQgPSAncHQnOjpyZWdjbGFzcyBvcmRlciBieSBjb25uYW1lOworICAg IGNvbm5hbWUgICAgfCBjb250eXBlIAorLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLQorIHB0X3Bf Y2hlY2sgICAgfCBjCisgcHRfcF9ub3RfbnVsbCB8IG4KKygyIHJvd3MpCisKKy8qIEl0IGFwcGVh cnMgaW4gdGhlIGluZm9ybWF0aW9uX3NjaGVtYSAqLworc2VsZWN0ICogZnJvbSBpbmZvcm1hdGlv bl9zY2hlbWEucGVyaW9kczsKKyB0YWJsZV9jYXRhbG9nIHwgdGFibGVfc2NoZW1hIHwgdGFibGVf bmFtZSB8IHBlcmlvZF9uYW1lIHwgc3RhcnRfY29sdW1uX25hbWUgfCBlbmRfY29sdW1uX25hbWUg CistLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Npb24gICAg fCBwdWJsaWMgICAgICAgfCBwdCAgICAgICAgIHwgcCAgICAgICAgICAgfCBkcyAgICAgICAgICAg ICAgICB8IGRlCisoMSByb3cpCisKKy8qIFNFTEVDVCAqIGV4Y2x1ZGVzIHRoZSBQRVJJT0QgKi8K K2luc2VydCBpbnRvIHB0IHZhbHVlcyAoMSwgJzIwMDAtMDEtMDEnLCAnMjAwMS0wMS0wMScpOwor c2VsZWN0ICogZnJvbSBwdDsKKyBpZCB8ICAgICBkcyAgICAgfCAgICAgZGUgICAgIAorLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgIDEgfCAwMS0wMS0yMDAwIHwgMDEtMDEtMjAwMQor KDEgcm93KQorCisvKiBZb3UgY2FuIGdldCBpdCBpZiB5b3Ugd2FudCAqLworc2VsZWN0ICosIHAg ZnJvbSBwdDsKKyBpZCB8ICAgICBkcyAgICAgfCAgICAgZGUgICAgIHwgICAgICAgICAgICBwICAg ICAgICAgICAgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorICAxIHwgMDEtMDEtMjAwMCB8IDAxLTAxLTIwMDEgfCBbMDEtMDEtMjAwMCww MS0wMS0yMDAxKQorKDEgcm93KQorCisvKiBZb3UgY2FuIGNvbW1lbnQgb24gaXQgKi8KK2NvbW1l bnQgb24gcGVyaW9kIHB0LnAgaXMgJ3Rlc3QgY29tbWVudCc7CitzZWxlY3Qgb2JqX2Rlc2NyaXB0 aW9uKChzZWxlY3Qgb2lkIGZyb20gcGdfcGVyaW9kIHdoZXJlIHBlcnJlbGlkID0gJ3B0Jzo6cmVn Y2xhc3MgYW5kIHBlcm5hbWUgPSAncCcpLCAncGdfcGVyaW9kJyk7Cisgb2JqX2Rlc2NyaXB0aW9u IAorLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZXN0IGNvbW1lbnQKKygxIHJvdykKKworLyogVHdvIGFy ZSBva2F5ICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwZXJpb2QgZm9yIHAxIChkcywgZGUpLCBwZXJpb2QgZm9yIHAyIChkcywgZGUpKTsKK2Ryb3Ag dGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiB3b3JrcyAqLwor Y3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFu Z2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3Jl ZCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKK1xkIHB0 MgorICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMucHQyIgorIENvbHVtbiB8ICBUeXBlICAg fCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLSstLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgfCBpbnRlZ2VyIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKKyBkcyAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfCAKKyBkZSAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1Blcmlv ZHM6CisgICAgcCAoZHMsIGRlKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInB0Ml9wX2NoZWNr IiBDSEVDSyAoZHMgPCBkZSkKKworZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdF TkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbCBpc24ndCB0aGVyZSAqLworY3Jl YXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBw IChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKK0VSUk9SOiAgTm8gY29sdW1uIGZv dW5kIHdpdGggbmFtZSBwCisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxz IGJlY2F1c2UgdGhlIG9wdGlvbiBoYXMgYW4gaW52YWxpZCB2YWx1ZSAqLworY3JlYXRlIHRhYmxl IHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUp IHdpdGggKGNvbGV4aXN0cyA9ICd3aGF0ZXZlcicpKTsKK0VSUk9SOiAgY29sZXhpc3RzIHJlcXVp cmVzIGEgQm9vbGVhbiB2YWx1ZQorLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBm YWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IE5PVCBOVUxMICovCitjcmVhdGUgdGFibGUg cHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBnZW5lcmF0ZWQg YWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBk ZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpOworRVJST1I6ICBQZXJpb2QgcCB1c2VzIGEgZ2Vu ZXJhdGVkIGNvbHVtbiB0aGF0IGFsbG93cyBudWxscworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFU RUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IEdFTkVSQVRFRCAqLwor Y3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFu Z2Ugbm90IG51bGwsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVl KSk7CitFUlJPUjogIFBlcmlvZCBwIHVzZXMgYSBub24tZ2VuZXJhdGVkIGNvbHVtbgorLyogU2tp cCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMg R0VORVJBVEVEIGJ1dCB3aXRoIHRoZSB3cm9uZyBleHByZXNzaW9uICovCistLSBUT0RPOgorLS0g Y3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFu Z2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRlLCBkcykpIHN0b3Jl ZCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsKKy8qIFNr aXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlz IHRoZSB3cm9uZyB0eXBlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRl LCBkZSBkYXRlLCBwIHRzcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAodHNyYW5n ZShkcywgZGUpKSBzdG9yZWQsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMg PSB0cnVlKSk7CitFUlJPUjogIFBlcmlvZCBwIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHdpdGgg dGhlIHdyb25nIHR5cGUKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMg YmVjYXVzZSB0aGUgY29sdW1uIGlzIGluaGVyaXRlZCAqLworY3JlYXRlIHRhYmxlIHB0MnBhcmVu dCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2Vu ZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCk7CitjcmVhdGUgdGFi bGUgcHQyIChwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpIGlu aGVyaXRzIChwdDJwYXJlbnQpOworRVJST1I6ICBJbmhlcml0aW5nIGlzIG5vdCBzdXBwb3J0ZWQg d2hlbiBhIHRhYmxlIGhhcyBhIFBFUklPRAorZHJvcCB0YWJsZSBwdDJwYXJlbnQ7CisvKgorICog QUxURVIgVEFCTEUgdGVzdHMKKyAqLworYWx0ZXIgdGFibGUgcHQgZHJvcCBwZXJpb2QgZm9yIHA7 CithbHRlciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZvciBzeXN0ZW1fdGltZSAoZHMsIGRlKTsKK0VS Uk9SOiAgUEVSSU9EIEZPUiBTWVNURU1fVElNRSBpcyBub3Qgc3VwcG9ydGVkCithbHRlciB0YWJs ZSBwdCBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpOworLyogSXRzIGdlbmVyYXRlZCBjb2x1bW4g bG9va3MgZ29vZCAqLworc2VsZWN0IGF0dG5hbWUsIGF0dHR5cGlkOjpyZWd0eXBlLCBhdHRub3Ru dWxsLCBhdHRnZW5lcmF0ZWQgZnJvbSBwZ19hdHRyaWJ1dGUgd2hlcmUgYXR0cmVsaWQgPSAncHQn OjpyZWdjbGFzcyBhbmQgYXR0bmFtZSA9ICdwJzsKKyBhdHRuYW1lIHwgYXR0dHlwaWQgIHwgYXR0 bm90bnVsbCB8IGF0dGdlbmVyYXRlZCAKKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0KKyBwICAgICAgIHwgZGF0ZXJhbmdlIHwgdCAgICAgICAgICB8IHMK KygxIHJvdykKKworc2VsZWN0IGNvbm5hbWUsIGNvbnR5cGUgZnJvbSBwZ19jb25zdHJhaW50IHdo ZXJlIGNvbnJlbGlkID0gJ3B0Jzo6cmVnY2xhc3Mgb3JkZXIgYnkgY29ubmFtZTsKKyAgICBjb25u YW1lICAgIHwgY29udHlwZSAKKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBwdF9wX2NoZWNr ICAgIHwgYworIHB0X3Bfbm90X251bGwgfCBuCisoMiByb3dzKQorCisvKiBBZGRpbmcgYSBzZWNv bmQgb25lICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwZXJpb2QgZm9yIHAxIChkcywgZGUpKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZv ciBwMiAoZHMsIGRlKTsKK2Ryb3AgdGFibGUgcHQyOworLyogQ2FuJ3QgZHJvcCBpdHMgY29sdW1u cyAqLworYWx0ZXIgdGFibGUgcHQgZHJvcCBjb2x1bW4gZHM7CitFUlJPUjogIGNhbm5vdCBkcm9w IGNvbHVtbiBkcyBvZiB0YWJsZSBwdCBiZWNhdXNlIG90aGVyIG9iamVjdHMgZGVwZW5kIG9uIGl0 CitERVRBSUw6ICBwZXJpb2QgcCBvbiB0YWJsZSBwdCBkZXBlbmRzIG9uIGNvbHVtbiBkcyBvZiB0 YWJsZSBwdAorSElOVDogIFVzZSBEUk9QIC4uLiBDQVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVu dCBvYmplY3RzIHRvby4KK2FsdGVyIHRhYmxlIHB0IGRyb3AgY29sdW1uIGRlOworRVJST1I6ICBj YW5ub3QgZHJvcCBjb2x1bW4gZGUgb2YgdGFibGUgcHQgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRl cGVuZCBvbiBpdAorREVUQUlMOiAgcGVyaW9kIHAgb24gdGFibGUgcHQgZGVwZW5kcyBvbiBjb2x1 bW4gZGUgb2YgdGFibGUgcHQKK0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBkcm9wIHRo ZSBkZXBlbmRlbnQgb2JqZWN0cyB0b28uCisvKiBDYW4ndCBjaGFuZ2UgdGhlIGRhdGEgdHlwZXMg Ki8KK2FsdGVyIHRhYmxlIHB0IGFsdGVyIGNvbHVtbiBkcyB0eXBlIHRpbWVzdGFtcDsKK0VSUk9S OiAgY2Fubm90IGFsdGVyIHR5cGUgb2YgYSBjb2x1bW4gdXNlZCBieSBhIHBlcmlvZAorREVUQUlM OiAgcGVyaW9kIHAgb24gdGFibGUgcHQgZGVwZW5kcyBvbiBjb2x1bW4gImRzIgorYWx0ZXIgdGFi bGUgcHQgYWx0ZXIgY29sdW1uIGRzIHR5cGUgdGltZXN0YW1wOworRVJST1I6ICBjYW5ub3QgYWx0 ZXIgdHlwZSBvZiBhIGNvbHVtbiB1c2VkIGJ5IGEgcGVyaW9kCitERVRBSUw6ICBwZXJpb2QgcCBv biB0YWJsZSBwdCBkZXBlbmRzIG9uIGNvbHVtbiAiZHMiCisvKiBjb2x1bW4vcGVyaW9kIG5hbWVz cGFjZSBjb25mbGljdHMgKi8KK2FsdGVyIHRhYmxlIHB0IGFkZCBjb2x1bW4gcCBpbnRlZ2VyOwor RVJST1I6ICBjb2x1bW4gbmFtZSAicCIgY29uZmxpY3RzIHdpdGggYSBwZXJpb2QgbmFtZQorYWx0 ZXIgdGFibGUgcHQgcmVuYW1lIGNvbHVtbiBpZCB0byBwOworRVJST1I6ICBjb2x1bW4gbmFtZSAi cCIgY29uZmxpY3RzIHdpdGggYSBwZXJpb2QgbmFtZQorYWx0ZXIgdGFibGUgcHQgYWRkIHBlcmlv ZCBmb3IgdGFibGVvaWQgKGRzLCBkZSk7CitFUlJPUjogIHBlcmlvZCBuYW1lICJ0YWJsZW9pZCIg Y29uZmxpY3RzIHdpdGggYSBzeXN0ZW0gY29sdW1uIG5hbWUKK2FsdGVyIHRhYmxlIHB0IGFkZCBw ZXJpb2QgZm9yICIuLi4uLi4uLnBnLmRyb3BwZWQuNC4uLi4uLi4uIiAoZHMsIGRlKTsKK0VSUk9S OiAgcGVyaW9kIG5hbWUgIi4uLi4uLi4ucGcuZHJvcHBlZC40Li4uLi4uLi4iIGNvbmZsaWN0cyB3 aXRoIGEgY29sdW1uIG5hbWUKKy8qIGFkZGluZyBjb2x1bW5zIGFuZCB0aGUgcGVyaW9kIGF0IHRo ZSBzYW1lIHRpbWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIpOworYWx0ZXIgdGFi bGUgcHQyIGFkZCBjb2x1bW4gZHMgZGF0ZSwgYWRkIGNvbHVtbiBkZSBkYXRlLCBhZGQgcGVyaW9k IGZvciBwIChkcywgZGUpOworZHJvcCB0YWJsZSBwdDI7CisvKiBBbWJpZ3VvdXMgcmFuZ2UgdHlw ZXMgcmFpc2UgYW4gZXJyb3IgKi8KK2NyZWF0ZSB0eXBlIG15ZGF0ZXJhbmdlIGFzIHJhbmdlKHN1 YnR5cGU9ZGF0ZSk7CitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUs IHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitFUlJPUjogIGFtYmlndW91cyByYW5nZSBmb3IgdHlw ZSBkYXRlCisvKiBZb3UgY2FuIGdpdmUgYW4gZXhwbGljaXQgcmFuZ2UgdHlwZSAqLworY3JlYXRl IHRhYmxlIHB0MiAoaWQgaW50LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBk ZSkgd2l0aCAocmFuZ2V0eXBlID0gJ215ZGF0ZXJhbmdlJykpOworZHJvcCB0eXBlIG15ZGF0ZXJh bmdlOworRVJST1I6ICBjYW5ub3QgZHJvcCB0eXBlIG15ZGF0ZXJhbmdlIGJlY2F1c2Ugb3RoZXIg b2JqZWN0cyBkZXBlbmQgb24gaXQKK0RFVEFJTDogIHBlcmlvZCBwIG9uIHRhYmxlIHB0MiBkZXBl bmRzIG9uIHR5cGUgbXlkYXRlcmFuZ2UKK0hJTlQ6ICBVc2UgRFJPUCAuLi4gQ0FTQ0FERSB0byBk cm9wIHRoZSBkZXBlbmRlbnQgb2JqZWN0cyB0b28uCitkcm9wIHR5cGUgbXlkYXRlcmFuZ2UgY2Fz Y2FkZTsKK05PVElDRTogIGRyb3AgY2FzY2FkZXMgdG8gcGVyaW9kIHAgb24gdGFibGUgcHQyCitk cm9wIHRhYmxlIHB0MjsKK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludCwgZHMgZGF0ZSwgZGUgZGF0 ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKHJhbmdldHlwZSA9ICdkYXRlcmFuZ2UnKSk7 CisvKiBSYW5nZSB0eXBlIGlzIG5vdCBmb3VuZCAqLworY3JlYXRlIHRhYmxlIHB0MyAoaWQgaW50 LCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0eXBl ID0gJ25vdGFyYW5nZScpKTsKK0VSUk9SOiAgUmFuZ2UgdHlwZSBub3RhcmFuZ2Ugbm90IGZvdW5k CisvKiBSYW5nZSB0eXBlIGlzIHRoZSB3cm9uZyB0eXBlICovCitjcmVhdGUgdGFibGUgcHQzIChp ZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChyYW5n ZXR5cGUgPSAndHN0enJhbmdlJykpOworRVJST1I6ICBSYW5nZSB0eXBlIHRzdHpyYW5nZSBkb2Vz IG5vdCBtYXRjaCBjb2x1bW4gdHlwZSBkYXRlCitkcm9wIHRhYmxlIHB0MjsKKy8qIFBlcmlvZCBj YW4ndCB1c2UgdGhlIHNhbWUgY29sdW0gZm9yIHN0YXJ0IGFuZCBlbmQqLworY3JlYXRlIHRhYmxl IHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSk7CithbHRlciB0YWJsZSBwdDIgYWRk IHBlcmlvZCBmb3IgcCAoZHMsIGRzKTsKK0VSUk9SOiAgY29sdW1uICJkcyIgY2FuJ3QgYmUgdGhl IHN0YXJ0IGFuZCBlbmQgY29sdW1uIGZvciBwZXJpb2QgInAiCitkcm9wIHRhYmxlIHB0MjsKKy8q IFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogd29ya3MgKi8KK2NyZWF0ZSB0YWJsZSBw dDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdl bmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOworYWx0ZXIgdGFi bGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7 CitcZCBwdDIKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnB0MiIKKyBDb2x1bW4gfCAg VHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0rLS0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgIHwgaW50ZWdlciB8 ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZHMgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8 ICAgICAgICAgIHwgCisgZGUgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwg CitQZXJpb2RzOgorICAgIHAgKGRzLCBkZSkKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJwdDJf cF9jaGVjayIgQ0hFQ0sgKGRzIDwgZGUpCisKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVh dGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2wgaXNuJ3QgdGhlcmUg Ki8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUpOworYWx0 ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0g dHJ1ZSk7CitFUlJPUjogIGNvbHVtbiAicCIgb2YgcmVsYXRpb24gInB0MiIgZG9lcyBub3QgZXhp c3QKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBm YWlscyBiZWNhdXNlIHRoZSBvcHRpb24gaGFzIGFuIGludmFsaWQgdmFsdWUgKi8KK2NyZWF0ZSB0 YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBu dWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQpOworYWx0 ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0g J3doYXRldmVyJyk7CitFUlJPUjogIGNvbGV4aXN0cyByZXF1aXJlcyBhIEJvb2xlYW4gdmFsdWUK K2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWls cyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IE5PVCBOVUxMICovCitjcmVhdGUgdGFibGUgcHQy IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBnZW5lcmF0ZWQgYWx3 YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQg cGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpOworRVJST1I6ICBQ ZXJpb2QgcCB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB0aGF0IGFsbG93cyBudWxscworZHJvcCB0 YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1 c2UgdGhlIGNvbHVtbiBpcyBub3QgR0VORVJBVEVEICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBp bnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCk7CithbHRlciB0 YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVl KTsKK0VSUk9SOiAgUGVyaW9kIHAgdXNlcyBhIG5vbi1nZW5lcmF0ZWQgY29sdW1uCitkcm9wIHRh YmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVz ZSB0aGUgY29sdW1uIGlzIEdFTkVSQVRFRCBidXQgd2l0aCB0aGUgd3JvbmcgZXhwcmVzc2lvbiAq LworLS0gVE9ETzoKKy0tIGNyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRl IGRhdGUsIHAgZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5n ZShkZSwgZHMpKSBzdG9yZWQpOworLS0gYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAg KGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVS QVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyB0aGUgd3JvbmcgdHlwZSAq LworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCB0c3Jh bmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKHRzcmFuZ2UoZHMsIGRlKSkgc3RvcmVk KTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4 aXN0cyA9IHRydWUpOworRVJST1I6ICBQZXJpb2QgcCB1c2VzIGEgZ2VuZXJhdGVkIGNvbHVtbiB3 aXRoIHRoZSB3cm9uZyB0eXBlCitkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VO RVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sdW1uIGlzIGluaGVyaXRlZCAqLwor Y3JlYXRlIHRhYmxlIHB0MnBhcmVudCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBk YXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkp IHN0b3JlZCk7CitjcmVhdGUgdGFibGUgcHQyICgpIGluaGVyaXRzIChwdDJwYXJlbnQpOworYWx0 ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0g dHJ1ZSk7CitFUlJPUjogIFBlcmlvZCBwIHVzZXMgYSBnZW5lcmF0ZWQgY29sdW1uIHRoYXQgaXMg aW5oZXJpdGVkCitkcm9wIHRhYmxlIHB0MjsKK2Ryb3AgdGFibGUgcHQycGFyZW50OworLyogQ1JF QVRFIFRBQkxFIChMSUtFIC4uLikgKi8KKy8qIFBlcmlvZHMgYXJlIG5vdCBjb3BpZWQgYnkgTElL RSwgc28gdGhlaXIgY29sdW1ucyBhcmVuJ3QgZWl0aGVyICovCitjcmVhdGUgdGFibGUgcHQyIChs aWtlIHB0KTsKK1xkIHB0MgorICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMucHQyIgorIENv bHVtbiB8ICBUeXBlICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgfCBp bnRlZ2VyIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyBkcyAgICAgfCBkYXRlICAgIHwgICAg ICAgICAgIHwgICAgICAgICAgfCAKKyBkZSAgICAgfCBkYXRlICAgIHwgICAgICAgICAgIHwgICAg ICAgICAgfCAKKworZHJvcCB0YWJsZSBwdDI7CisvKiBDYW4gYWRkIGEgcGVyaW9kIHJlZmVycmlu ZyB0byBMSUtFJ2QgY29sdW1ucyAqLworY3JlYXRlIHRhYmxlIG5vdF9wIChpZCBpbnRlZ2VyLCBk cyBkYXRlLCBkZSBkYXRlKTsKK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2Ugbm90X3AsIHBlcmlvZCBm b3IgcCAoZHMsIGRlKSk7CitcZCBwdDIKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnB0 MiIKKyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAor LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQg ICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZHMgICAgIHwgZGF0ZSAg ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZGUgICAgIHwgZGF0ZSAgICB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHAgKGRzLCBkZSkKK0NoZWNrIGNvbnN0cmFp bnRzOgorICAgICJwdDJfcF9jaGVjayIgQ0hFQ0sgKGRzIDwgZGUpCisKK2Ryb3AgdGFibGUgcHQy OworLyogQ2FuIGFkZCBhIHBlcmlvZCB3aXRoIHRoZSBzYW1lIG5hbWUgKi8KK2NyZWF0ZSB0YWJs ZSBwdDIgKGxpa2UgcHQsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitcZCBwdDIKKyAgICAgICAg ICAgICAgICBUYWJsZSAicHVibGljLnB0MiIKKyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9u IHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgCisgZHMgICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgZGUg ICAgIHwgZGF0ZSAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHAg KGRzLCBkZSkKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJwdDJfcF9jaGVjayIgQ0hFQ0sgKGRz IDwgZGUpCisKK2Ryb3AgdGFibGUgcHQyOworLyogQ2FuIGFkZCBhIHBlcmlvZCB3aXRoIGEgZGlm ZmVyZW50IG5hbWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGxpa2UgcHQsIHBlcmlvZCBmb3IgcDIg KGRzLCBkZSkpOworXGQgcHQyCisgICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy5wdDIiCisg Q29sdW1uIHwgIFR5cGUgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICB8 IGludGVnZXIgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIGRzICAgICB8IGRhdGUgICAgfCAg ICAgICAgICAgfCAgICAgICAgICB8IAorIGRlICAgICB8IGRhdGUgICAgfCAgICAgICAgICAgfCAg ICAgICAgICB8IAorUGVyaW9kczoKKyAgICBwMiAoZHMsIGRlKQorQ2hlY2sgY29uc3RyYWludHM6 CisgICAgInB0Ml9wMl9jaGVjayIgQ0hFQ0sgKGRzIDwgZGUpCisKK2Ryb3AgdGFibGUgcHQyOwor LyogQ2FuJ3QgYWRkIGEgcGVyaW9kIHdob3NlIG5hbWUgY29uZmxpY3RzIHdpdGggYSBMSUtFJ2Qg Y29sdW1uICovCitjcmVhdGUgdGFibGUgcHQyIChsaWtlIHB0LCBwZXJpb2QgZm9yIGlkIChkcywg ZGUpKTsKK0VSUk9SOiAgcGVyaW9kIG5hbWUgImlkIiBjb25mbGljdHMgd2l0aCBhIGNvbHVtbiBu YW1lCisvKiBDUkVBVEUgVEFMQkUgSU5IRVJJVFMgKi8KKy8qIENhbid0IGluaGVyaXQgZnJvbSBh IHRhYmxlIHdpdGggYSBwZXJpb2QgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKG5hbWUgdGV4dCkgaW5o ZXJpdHMgKHB0KTsKK0VSUk9SOiAgSW5oZXJpdGluZyBmcm9tIGEgdGFibGUgd2l0aCBhIFBFUklP RCBpcyBub3Qgc3VwcG9ydGVkCisvKiBDYW4ndCBpbmhlcml0IHdpdGggYSBwZXJpb2QgKi8KK2Ny ZWF0ZSB0YWJsZSBwdDIgKGQycyBkYXRlLCBkMmUgZGF0ZSwgcGVyaW9kIGZvciBwIChkMnMsIGQy ZSkpIGluaGVyaXRzIChub3RfcCk7CitFUlJPUjogIEluaGVyaXRpbmcgaXMgbm90IHN1cHBvcnRl ZCB3aGVuIGEgdGFibGUgaGFzIGEgUEVSSU9ECitkcm9wIHRhYmxlIG5vdF9wOwpkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wcml2aWxlZ2VzLm91dCBiL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKaW5kZXggOWZmOGU3ZmIzNjMuLjRmNTc3MjE4 Y2RmIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3ByaXZpbGVnZXMub3V0 CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcHJpdmlsZWdlcy5vdXQKQEAgLTExMzcs NiArMTEzNywzNSBAQCBTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2Vy MzsKIFVQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBU TyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMpJzsKIFNFVCBTRVNTSU9OIEFVVEhPUklaQVRJ T04gcmVncmVzc19wcml2X3VzZXIxOwogRFJPUCBUQUJMRSB0MTsKKy0tIHRlc3QgY29sdW1uLWxl dmVsIHByaXZpbGVnZXMgb24gdGhlIFBFUklPRCB1c2VkIGluIEZPUiBQT1JUSU9OIE9GCitTRVQg U0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyMTsKK0NSRUFURSBUQUJMRSB0 MSAoCisgIGMxIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSB0aW1lc3RhbXAsCisgIHZhbGlkX3Rp bCB0aW1lc3RhbXAsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCksCisJQ09OU1RSQUlOVCB0MXBrIFBSSU1BUlkgS0VZIChjMSwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUykKKyk7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXIyOwor R1JBTlQgU0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMzsKK0dSQU5UIFNFTEVDVCBP TiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjQ7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVz c19wcml2X3VzZXI1OworR1JBTlQgVVBEQVRFIChjMSkgT04gdDEgVE8gcmVncmVzc19wcml2X3Vz ZXIyOworR1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91 c2VyMzsKK0dSQU5UIFVQREFURSAoYzEsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgT04gdDEgVE8g cmVncmVzc19wcml2X3VzZXI0OworR1JBTlQgVVBEQVRFIChjMSwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCB2YWxpZF9hdCkgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXI1OworU0VUIFNFU1NJT04g QVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjI7CitVUERBVEUgdDEgRk9SIFBPUlRJT04g T0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdb MiwzKSc7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciB0YWJsZSB0MQorU0VUIFNFU1NJ T04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjM7CitVUERBVEUgdDEgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9 ICdbMiwzKSc7CitFUlJPUjogIHBlcm1pc3Npb24gZGVuaWVkIGZvciB0YWJsZSB0MQorU0VUIFNF U1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjQ7CitVUERBVEUgdDEgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBj MSA9ICdbMiwzKSc7CitTRVQgU0VTU0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2Vy NTsKK1VQREFURSB0MSBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBU TyAnMjAwMS0wMS0wMScgU0VUIGMxID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJ T04gcmVncmVzc19wcml2X3VzZXIxOworRFJPUCBUQUJMRSB0MTsKIC0tIHRlc3QgY29sdW1uLWxl dmVsIHByaXZpbGVnZXMgd2hlbiBpbnZvbHZlZCB3aXRoIERFTEVURQogU0VUIFNFU1NJT04gQVVU SE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBBTFRFUiBUQUJMRSBhdGVzdDYgQUREIENP TFVNTiB0aHJlZSBpbnRlZ2VyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC93aXRob3V0X292ZXJsYXBzLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91 dF9vdmVybGFwcy5vdXQKaW5kZXggNGQ5ZjI1YWM0MDUuLmU1NDVkMGUzM2Q0IDEwMDY0NAotLS0g YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3dpdGhvdXRfb3ZlcmxhcHMub3V0CisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvd2l0aG91dF9vdmVybGFwcy5vdXQKQEAgLTE1Myw2ICsx NTMsNzYgQEAgU0VMRUNUIHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBw Z19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGUKICBDUkVBVEUgVU5JUVVFIElOREVYIHRl bXBvcmFsX3JuZzJfcGsgT04gdGVtcG9yYWxfcm5nMiBVU0lORyBnaXN0IChpZDEsIGlkMiwgdmFs aWRfYXQpCiAoMSByb3cpCiAKKy0tIFBLIHdpdGggb25lIGNvbHVtbiBwbHVzIGEgUEVSSU9EOgor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJv bSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3Blcgor ICAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3JhbF9wZXIiCisgICBDb2x1bW4gICB8 ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAg ICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBk YXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWxfcGVyX3BrIiBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50 czoKKyAgICAidGVtcG9yYWxfcGVyX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8 IHZhbGlkX3RpbCkKKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19j b25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyX3BrJzsKKyAgICAgICAgICAg IHBnX2dldF9jb25zdHJhaW50ZGVmICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorKDEgcm93KQorCitTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlk LCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9w ZXJfcGsnOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZ19nZXRfaW5kZXhkZWYg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IENSRUFURSBVTklRVUUgSU5ERVggdGVtcG9yYWxfcGVyX3BrIE9OIHRlbXBvcmFsX3BlciBVU0lO RyBnaXN0IChpZCwgdmFsaWRfYXQpCisoMSByb3cpCisKKy0tIFBLIHdpdGggdHdvIGNvbHVtbnMg cGx1cyBhIFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQxIGludDRy YW5nZSwKKyAgaWQyIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRf YXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIyCisgICAgICAgICAgICAg IFRhYmxlICJwdWJsaWMudGVtcG9yYWxfcGVyMiIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwg Q29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQxICAgICAgICB8IGludDRyYW5n ZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgaWQyICAgICAgICB8IGludDRyYW5nZSB8ICAg ICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAg ICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp CitJbmRleGVzOgorICAgICJ0ZW1wb3JhbF9wZXIyX3BrIiBQUklNQVJZIEtFWSAoaWQxLCBpZDIs IHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCitDaGVjayBjb25zdHJhaW50czoKKyAgICAidGVt cG9yYWxfcGVyMl92YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwp CisKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBX SEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjJfcGsnOworICAgICAgICAgICAgICAgcGdfZ2V0 X2NvbnN0cmFpbnRkZWYgICAgICAgICAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBQUklNQVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpCisoMSByb3cpCisKK1NFTEVDVCBwZ19nZXRfaW5kZXhkZWYo Y29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3Rl bXBvcmFsX3BlcjJfcGsnOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGdf Z2V0X2luZGV4ZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBDUkVBVEUgVU5JUVVFIElOREVYIHRlbXBvcmFsX3Bl cjJfcGsgT04gdGVtcG9yYWxfcGVyMiBVU0lORyBnaXN0IChpZDEsIGlkMiwgdmFsaWRfYXQpCiso MSByb3cpCisKIC0tIFBLIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZToKIENSRUFURSBUWVBFIHRl eHRyYW5nZTIgQVMgcmFuZ2UgKHN1YnR5cGU9dGV4dCwgY29sbGF0aW9uPSJDIik7CiBDUkVBVEUg VEFCTEUgdGVtcG9yYWxfcm5nMyAoCkBAIC0zMDAsNiArMzcwLDc4IEBAIFNFTEVDVCBwZ19nZXRf aW5kZXhkZWYoY29uaW5kaWQsIDAsIHRydWUpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25u YW1lID0gJ3RlCiAoMSByb3cpCiAKIERST1AgVEFCTEUgdGVtcG9yYWxfcm5nMzsKKy0tIFVOSVFV RSB3aXRoIG9uZSBjb2x1bW4gcGx1cyBhIFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9w ZXIzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBk YXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIzCisgICAgICAgICAgICAgIFRhYmxlICJwdWJs aWMudGVtcG9yYWxfcGVyMyIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwg TnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAg ICB8ICAgICAgICAgIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAg ICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAg IHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRl eGVzOgorICAgICJ0ZW1wb3JhbF9wZXIzX3VxIiBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX3BlcjNfdmFsaWRf YXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQorCitTRUxFQ1QgcGdfZ2V0 X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0 ZW1wb3JhbF9wZXIzX3VxJzsKKyAgICAgICAgICBwZ19nZXRfY29uc3RyYWludGRlZiAgICAgICAg ICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBVTklRVUUgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKDEgcm93KQorCitTRUxFQ1QgcGdfZ2V0X2lu ZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFt ZSA9ICd0ZW1wb3JhbF9wZXIzX3VxJzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBnX2dldF9pbmRleGRlZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgQ1JFQVRFIFVOSVFVRSBJTkRFWCB0ZW1wb3JhbF9wZXIzX3Vx IE9OIHRlbXBvcmFsX3BlcjMgVVNJTkcgZ2lzdCAoaWQsIHZhbGlkX2F0KQorKDEgcm93KQorCitE Uk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CistLSBVTklRVUUgd2l0aCB0d28gY29sdW1ucyBwbHVz IGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZDEgaW50NHJhbmdl LAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRl LAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbF9wZXIzCisgICAgICAgICAgICAgIFRhYmxlICJw dWJsaWMudGVtcG9yYWxfcGVyMyIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9u IHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQxICAgICAgICB8IGludDRyYW5nZSB8ICAgICAg ICAgICB8ICAgICAgICAgIHwgCisgaWQyICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8 ICAgICAgICAgIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwg CitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVz OgorICAgICJ0ZW1wb3JhbF9wZXIzX3VxIiBVTklRVUUgKGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKQorQ2hlY2sgY29uc3RyYWludHM6CisgICAgInRlbXBvcmFsX3BlcjNfdmFs aWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQorCitTRUxFQ1QgcGdf Z2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9 ICd0ZW1wb3JhbF9wZXIzX3VxJzsKKyAgICAgICAgICAgICBwZ19nZXRfY29uc3RyYWludGRlZiAg ICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KKyBVTklRVUUgKGlkMSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKDEgcm93 KQorCitTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2Nv bnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9wZXIzX3VxJzsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBnX2dldF9pbmRleGRlZiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgQ1JF QVRFIFVOSVFVRSBJTkRFWCB0ZW1wb3JhbF9wZXIzX3VxIE9OIHRlbXBvcmFsX3BlcjMgVVNJTkcg Z2lzdCAoaWQxLCBpZDIsIHZhbGlkX2F0KQorKDEgcm93KQorCitEUk9QIFRBQkxFIHRlbXBvcmFs X3BlcjM7CiAtLSBVTklRVUUgd2l0aCBhIGN1c3RvbSByYW5nZSB0eXBlOgogQ1JFQVRFIFRZUEUg dGV4dHJhbmdlMiBBUyByYW5nZSAoc3VidHlwZT10ZXh0LCBjb2xsYXRpb249IkMiKTsKIENSRUFU RSBUQUJMRSB0ZW1wb3JhbF9ybmczICgKQEAgLTM3Nyw2ICs1MTksMTA2IEBAIEFMVEVSIFRBQkxF IHRlbXBvcmFsMwogICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfdXEKICAgVU5JUVVFIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CiBEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKy0tIFBS SU1BUlkgS0VZIHdpdGggUEVSSU9EIGFscmVhZHkgdGhlcmUKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRh dGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKKyk7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrCisgIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMK KyAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsMyIKKyAgIENvbHVtbiAgIHwg ICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAg ICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRh dGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAg ICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbDNfcGsiIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgor ICAgICJ0ZW1wb3JhbDNfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRf dGlsKQorCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKy0tIFBSSU1BUlkgS0VZIHdpdGggUEVSSU9E IHRvbworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMwor ICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVi bGljLnRlbXBvcmFsMyIKKyAgIENvbHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVs bGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8 IG5vdCBudWxsIHwgCisgdmFsaWRfZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAg ICAgIHwgCisgdmFsaWRfdGlsICB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwg CitQZXJpb2RzOgorICAgIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVz OgorICAgICJ0ZW1wb3JhbDNfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbDNfdmFsaWRfYXRfY2hl Y2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQorCitEUk9QIFRBQkxFIHRlbXBvcmFs MzsKKy0tIFVOSVFVRSB3aXRoIFBFUklPRCBhbHJlYWR5IHRoZXJlCitDUkVBVEUgVEFCTEUgdGVt cG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCisp OworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsM191cQor ICBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRlbXBvcmFsMwor ICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgorICAgQ29sdW1uICAgfCAg IFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAg IHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF9mcm9tIHwgZGF0 ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAg IHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsM191cSIgVU5JUVVFIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0 ZW1wb3JhbDNfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9tIDwgdmFsaWRfdGlsKQor CitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKy0tIFVOSVFVRSB3aXRoIFBFUklPRCB0b28KK0NSRUFU RSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKKyAgQUREIFBFUklP RCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsM191cQorICBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsK K1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgor ICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQg CistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2 YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90 aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAg dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFs M191cSIgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0 cmFpbnRzOgorICAgICJ0ZW1wb3JhbDNfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9t IDwgdmFsaWRfdGlsKQorCitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKIC0tCiAtLSByYW5nZSBQSzog dGVzdCB3aXRoIGV4aXN0aW5nIHJvd3MKIC0tCkBAIC04NzQsNiArMTExNiwyODQgQEAgU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9tbHRybmczIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAogRFJPUCBU QUJMRSB0ZW1wb3JhbF9tbHRybmczOwogLS0KKy0tIFBFUklPRCBQSzogdGVzdCB3aXRoIGV4aXN0 aW5nIHJvd3MKKy0tCitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX3Blcl9wazsKKy0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAx OC0wMi0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIw MTgtMDEtMDEnLCBOVUxMKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxf cGVyX3BrOworLS0gc2hvdWxkIGZhaWw6CitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAx LTAxJywgJzIwMTgtMDEtMDUnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX3Blcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpOworRVJST1I6ICBjb3VsZCBub3QgY3JlYXRlIGV4Y2x1c2lvbiBjb25zdHJhaW50 ICJ0ZW1wb3JhbF9wZXJfcGsiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBb MjAxOC0wMS0wMiwyMDE4LTAyLTAzKSkgY29uZmxpY3RzIHdpdGgga2V5IChpZCwgdmFsaWRfYXQp PShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSkpLgorUk9MTEJBQ0s7CistLSByZWplY3Rz IGVtcHR5OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBEUk9QIFBFUklPRCBG T1IgdmFsaWRfYXQ7CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScsICcyMDIwLTAxLTAxJyk7 CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKTsKK0VSUk9SOiAgY2hlY2sgY29uc3RyYWludCAidGVtcG9yYWxf cGVyX3ZhbGlkX2F0X2NoZWNrIiBvZiByZWxhdGlvbiAidGVtcG9yYWxfcGVyIiBpcyB2aW9sYXRl ZCBieSBzb21lIHJvdworUk9MTEJBQ0s7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXI7CistLQorLS0gUEVSSU9EIFBL OiB0ZXN0IGluc2VydHMKKy0tCistLSBva2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywg JzIwMTgtMDItMDMnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0Jyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScs ICcyMDE4LTAxLTAxJywgTlVMTCk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAx OC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2 aW9sYXRlcyBleGNsdXNpb24gY29uc3RyYWludCAidGVtcG9yYWxfcGVyX3BrIgorREVUQUlMOiAg S2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSkpIGNvbmZs aWN0cyB3aXRoIGV4aXN0aW5nIGtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAy LDIwMTgtMDItMDMpKS4KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTIChOVUxMLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitF UlJPUjogIG51bGwgdmFsdWUgaW4gY29sdW1uICJpZCIgb2YgcmVsYXRpb24gInRlbXBvcmFsX3Bl ciIgdmlvbGF0ZXMgbm90LW51bGwgY29uc3RyYWludAorREVUQUlMOiAgRmFpbGluZyByb3cgY29u dGFpbnMgKG51bGwsIDIwMTgtMDEtMDEsIDIwMTgtMDEtMDUsIFsyMDE4LTAxLTAxLDIwMTgtMDEt MDUpKS4KKy0tIHJlamVjdHMgZW1wdHk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMjAtMDEtMDEnLCAnMjAy MC0wMS0wMScpOworRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAidGVtcG9yYWxfcGVyIiB2 aW9sYXRlcyBjaGVjayBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXJfdmFsaWRfYXRfY2hlY2siCitE RVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAoWzMsNCksIDIwMjAtMDEtMDEsIDIwMjAtMDEt MDEsIGVtcHR5KS4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDE4LTAxLTAyIHwgMjAxOC0wMi0wMworIFsx LDIpIHwgMjAxOC0wMy0wMyB8IDIwMTgtMDQtMDQKKyBbMiwzKSB8IDIwMTgtMDEtMDEgfCAyMDE4 LTAxLTA1CisgWzMsNCkgfCAyMDE4LTAxLTAxIHwgCisoNCByb3dzKQorCistLQorLS0gUEVSSU9E IFBLOiB0ZXN0IHVwZGF0ZXMKKy0tCistLSB1cGRhdGUgdGhlIHNjYWxhciBwYXJ0CitVUERBVEUg IHRlbXBvcmFsX3BlcgorU0VUICAgICBpZCA9ICdbMTEsMTIpJworV0hFUkUgICBpZCA9ICdbMSwy KScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gdXBkYXRlIHRo ZSBQRVJJT0QgYm91bmRzCitVUERBVEUgIHRlbXBvcmFsX3BlcgorU0VUICAgICB2YWxpZF9mcm9t ID0gJzIwMjAtMDEtMDEnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAyMS0wMS0wMScKK1dIRVJF ICAgaWQgPSAnWzExLDEyKScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRl OworLS0gdXBkYXRlIGJvdGggYXQgb25jZQorVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAg aWQgPSAnWzIxLDIyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsCisgICAg ICAgIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAzJworV0hFUkUgICBpZCA9ICdbMTEsMTIpJworQU5E ICAgICB2YWxpZF9hdCBAPiAnMjAyMC0wMS0xNSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICBpZCAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIAorLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSAg IHwgMjAxOC0wMy0wMyB8IDIwMTgtMDQtMDQKKyBbMiwzKSAgIHwgMjAxOC0wMS0wMSB8IDIwMTgt MDEtMDUKKyBbMyw0KSAgIHwgMjAxOC0wMS0wMSB8IAorIFsyMSwyMikgfCAyMDE4LTAxLTAyIHwg MjAxOC0wMi0wMworKDQgcm93cykKKworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgIHRlbXBvcmFs X3BlcgorU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0w My0wNScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTA1JworV0hFUkUgICBpZCA9ICdb MjEsMjIpJzsKK0VSUk9SOiAgY29uZmxpY3Rpbmcga2V5IHZhbHVlIHZpb2xhdGVzIGV4Y2x1c2lv biBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXJfcGsiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9h dCk9KFsxLDIpLCBbMjAxOC0wMy0wNSwyMDE4LTA1LTA1KSkgY29uZmxpY3RzIHdpdGggZXhpc3Rp bmcga2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCkpLgor LS0gc2V0IHRoZSBzY2FsYXIgcGFydCB0byBOVUxMCitVUERBVEUgIHRlbXBvcmFsX3BlcgorU0VU ICAgICBpZCA9IE5VTEwsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMy0wNScsCisgICAg ICAgIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTA1JworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKK0VS Uk9SOiAgbnVsbCB2YWx1ZSBpbiBjb2x1bW4gImlkIiBvZiByZWxhdGlvbiAidGVtcG9yYWxfcGVy IiB2aW9sYXRlcyBub3QtbnVsbCBjb25zdHJhaW50CitERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250 YWlucyAobnVsbCwgMjAxOC0wMy0wNSwgMjAxOC0wNS0wNSwgWzIwMTgtMDMtMDUsMjAxOC0wNS0w NSkpLgorLS0gc2V0IGEgUEVSSU9EIGJvdW5kIHRvIE5VTEwgKG9rYXkpCitVUERBVEUgIHRlbXBv cmFsX3BlcgorU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAx OC0wNC0wNCcsCisgICAgICAgIHZhbGlkX3RpbCA9IE5VTEwKK1dIRVJFICAgaWQgPSAnWzIxLDIy KSc7CistLSByZWplY3RzIGVtcHR5OgorVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgaWQg PSAnWzIxLDIyKScsCisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAg IHZhbGlkX3RpbCA9ICcyMDIwLTAxLTAxJworV0hFUkUgICBpZCA9ICdbMSwyKSc7CitFUlJPUjog IG5ldyByb3cgZm9yIHJlbGF0aW9uICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGNoZWNrIGNvbnN0 cmFpbnQgInRlbXBvcmFsX3Blcl92YWxpZF9hdF9jaGVjayIKK0RFVEFJTDogIEZhaWxpbmcgcm93 IGNvbnRhaW5zIChbMjEsMjIpLCAyMDIwLTAxLTAxLCAyMDIwLTAxLTAxLCBlbXB0eSkuCitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxLDIpIHwgMjAxOC0wMy0wMyB8IDIwMTgtMDQtMDQKKyBbMSwyKSB8IDIwMTgtMDQtMDQg fCAKKyBbMiwzKSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1CisgWzMsNCkgfCAyMDE4LTAxLTAx IHwgCisoNCByb3dzKQorCistLQorLS0gUEVSSU9EIFVROiB0ZXN0IHdpdGggZXhpc3Rpbmcgcm93 cworLS0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIzICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCispOworLS0gb2theToKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIw MTgtMDEtMDInLCAnMjAxOC0wMi0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcy MDE4LTA0LTA0Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBOVUxMKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoTlVMTCwgJzIwMTgtMDEt MDEnLCAnMjAxOC0wMS0wNScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxf cGVyM191cTsKKy0tIHNob3VsZCBmYWlsOgorQkVHSU47CisgIElOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgt MDEtMDEnLCAnMjAxOC0wMS0wNScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyk7CitFUlJPUjogIGNvdWxkIG5vdCBjcmVhdGUgZXhjbHVzaW9uIGNvbnN0cmFpbnQg InRlbXBvcmFsX3BlcjNfdXEiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBb MjAxOC0wMS0wMiwyMDE4LTAyLTAzKSkgY29uZmxpY3RzIHdpdGgga2V5IChpZCwgdmFsaWRfYXQp PShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSkpLgorUk9MTEJBQ0s7CistLSByZWplY3Rz IGVtcHR5OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMgRFJPUCBQRVJJT0Qg Rk9SIHZhbGlkX2F0OworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAxLTAxJywgJzIwMjAtMDEtMDEn KTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKK0VSUk9SOiAgY2hlY2sgY29uc3RyYWludCAidGVtcG9y YWxfcGVyM192YWxpZF9hdF9jaGVjayIgb2YgcmVsYXRpb24gInRlbXBvcmFsX3BlcjMiIGlzIHZp b2xhdGVkIGJ5IHNvbWUgcm93CitST0xMQkFDSzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcjMg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjM7CistLQorLS0gUEVSSU9E IFVROiB0ZXN0IGluc2VydHMKKy0tCistLSBva2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0w MicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQt MDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTIChOVUxMLCAnMjAxOC0wMS0wMScsICcy MDE4LTAxLTA1Jyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDEn LCAnMjAxOC0wMS0wNScpOworRVJST1I6ICBjb25mbGljdGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMg ZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFsX3BlcjNfdXEiCitERVRBSUw6ICBLZXkgKGlk LCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMSwyMDE4LTAxLTA1KSkgY29uZmxpY3RzIHdp dGggZXhpc3Rpbmcga2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0w Mi0wMykpLgorLS0gcmVqZWN0cyBlbXB0eToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMjAtMDEtMDEnLCAn MjAyMC0wMS0wMScpOworRVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAidGVtcG9yYWxfcGVy MyIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWludCAidGVtcG9yYWxfcGVyM192YWxpZF9hdF9jaGVj ayIKK0RFVEFJTDogIEZhaWxpbmcgcm93IGNvbnRhaW5zIChbMyw0KSwgMjAyMC0wMS0wMSwgMjAy MC0wMS0wMSwgZW1wdHkpLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEsMikgfCAyMDE4LTAxLTAyIHwgMjAxOC0wMi0w MworIFsxLDIpIHwgMjAxOC0wMy0wMyB8IDIwMTgtMDQtMDQKKyBbMiwzKSB8IDIwMTgtMDEtMDEg fCAyMDE4LTAxLTA1CisgWzMsNCkgfCAyMDE4LTAxLTAxIHwgCisgICAgICAgfCAyMDE4LTAxLTAx IHwgMjAxOC0wMS0wNQorKDUgcm93cykKKworLS0KKy0tIFBFUklPRCBVUTogdGVzdCB1cGRhdGVz CistLQorLS0gdXBkYXRlIHRoZSBzY2FsYXIgcGFydAorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitT RVQgICAgIGlkID0gJ1sxMSwxMiknCitXSEVSRSAgIGlkID0gJ1sxLDIpJworQU5EICAgICB2YWxp ZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSB1cGRhdGUgdGhlIFBFUklPRCBib3VuZHMK K1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEn LAorICAgICAgICB2YWxpZF90aWwgPSAnMjAyMS0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzExLDEy KScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gdXBkYXRlIGJv dGggYXQgb25jZQorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gJ1syMSwyMikn LAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLAorICAgICAgICB2YWxpZF90aWwg PSAnMjAxOC0wMi0wMycKK1dIRVJFICAgaWQgPSAnWzExLDEyKScKK0FORCAgICAgdmFsaWRfYXQg QD4gJzIwMjAtMDEtMTUnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgIGlkICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCist LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpICAgfCAyMDE4LTAzLTAz IHwgMjAxOC0wNC0wNAorIFsyLDMpICAgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQorIFszLDQp ICAgfCAyMDE4LTAxLTAxIHwgCisgWzIxLDIyKSB8IDIwMTgtMDEtMDIgfCAyMDE4LTAyLTAzCisg ICAgICAgICB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1CisoNSByb3dzKQorCistLSBzaG91bGQg ZmFpbDoKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAg ICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMy0wNScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4 LTA1LTA1JworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKK0VSUk9SOiAgY29uZmxpY3Rpbmcga2V5 IHZhbHVlIHZpb2xhdGVzIGV4Y2x1c2lvbiBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXIzX3VxIgor REVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDMtMDUsMjAxOC0wNS0w NSkpIGNvbmZsaWN0cyB3aXRoIGV4aXN0aW5nIGtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsy MDE4LTAzLTAzLDIwMTgtMDQtMDQpKS4KKy0tIHNldCB0aGUgc2NhbGFyIHBhcnQgdG8gTlVMTCAo b2theSkKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9IE5VTEwsCisgICAgICAg IHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIxLTAx LTAxJworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCBhIFBFUklPRCBib3VuZCB0byBO VUxMIChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gJ1sxLDIpJywK KyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTA0LTA0JywKKyAgICAgICAgdmFsaWRfdGlsID0g TlVMTAorV0hFUkUgICBpZCBJUyBOVUxMIEFORCB2YWxpZF9hdCBAPiAnMjAyMC0wNi0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor ICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMTgtMDMtMDMgfCAyMDE4LTA0LTA0CisgWzEsMikgfCAy MDE4LTA0LTA0IHwgCisgWzIsMykgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQorIFszLDQpIHwg MjAxOC0wMS0wMSB8IAorICAgICAgIHwgMjAxOC0wMS0wMSB8IDIwMTgtMDEtMDUKKyg1IHJvd3Mp CisKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlk X2Zyb20gPSAnMjAxOC0wMy0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTA1Jwor V0hFUkUgICBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworRVJST1I6ICBjb25m bGljdGluZyBrZXkgdmFsdWUgdmlvbGF0ZXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQgInRlbXBvcmFs X3BlcjNfdXEiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMy0w MSwyMDE4LTA1LTA1KSkgY29uZmxpY3RzIHdpdGggZXhpc3Rpbmcga2V5IChpZCwgdmFsaWRfYXQp PShbMSwyKSwgWzIwMTgtMDMtMDMsMjAxOC0wNC0wNCkpLgorLS0gcmVqZWN0cyBlbXB0eToKK1VQ REFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAor ICAgICAgICB2YWxpZF90aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzEsMiknIEFO RCB2YWxpZF90aWwgSVMgTlVMTDsKK0VSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInRlbXBv cmFsX3BlcjMiIHZpb2xhdGVzIGNoZWNrIGNvbnN0cmFpbnQgInRlbXBvcmFsX3BlcjNfdmFsaWRf YXRfY2hlY2siCitERVRBSUw6ICBGYWlsaW5nIHJvdyBjb250YWlucyAoWzEsMiksIDIwMjAtMDEt MDEsIDIwMjAtMDEtMDEsIGVtcHR5KS4KKy0tIHN0aWxsIHJlamVjdHMgZW1wdHkgd2hlbiBzY2Fs YXIgcGFydCBpcyBOVUxMOgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0gTlVM TCwKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGls ID0gJzIwMjAtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfdGlsIElTIE5V TEw7CitFUlJPUjogIG5ldyByb3cgZm9yIHJlbGF0aW9uICJ0ZW1wb3JhbF9wZXIzIiB2aW9sYXRl cyBjaGVjayBjb25zdHJhaW50ICJ0ZW1wb3JhbF9wZXIzX3ZhbGlkX2F0X2NoZWNrIgorREVUQUlM OiAgRmFpbGluZyByb3cgY29udGFpbnMgKG51bGwsIDIwMjAtMDEtMDEsIDIwMjAtMDEtMDEsIGVt cHR5KS4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAxOC0wMy0wMyB8IDIwMTgtMDQtMDQKKyBbMSwyKSB8 IDIwMTgtMDQtMDQgfCAKKyBbMiwzKSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTA1CisgWzMsNCkg fCAyMDE4LTAxLTAxIHwgCisgICAgICAgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wNQorKDUgcm93 cykKKworRFJPUCBUQUJMRSB0ZW1wb3JhbF9wZXIzOworLS0KIC0tIHRlc3QgYSByYW5nZSB3aXRo IGJvdGggYSBQSyBhbmQgYSBVTklRVUUgY29uc3RyYWludAogLS0KIENSRUFURSBUQUJMRSB0ZW1w b3JhbDMgKApAQCAtOTMzLDYgKzE0NTMsOTEgQEAgRVJST1I6ICBjb2x1bW4gInZhbGlkX2F0IiBp cyBpbiBhIHByaW1hcnkga2V5CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZh bGlkX2F0IFRZUEUgdHN0enJhbmdlIFVTSU5HIHRzdHpyYW5nZShsb3dlcih2YWxpZF9hdCksIHVw cGVyKHZhbGlkX2F0KSk7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgUkVOQU1FIENPTFVNTiB2YWxp ZF9hdCBUTyB2YWxpZF90aHJ1OwogQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZh bGlkX3RocnU7CitcZCB0ZW1wb3JhbDMKKyAgICAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1w b3JhbDMiCisgQ29sdW1uIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZh dWx0IAorLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0KKyBpZCAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorCitEUk9Q IFRBQkxFIHRlbXBvcmFsMzsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWwz X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitcZCB0 ZW1wb3JhbDMKKyAgICAgICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsMyIKKyAgIENv bHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisg aWQgICAgICAgICB8IGludDRyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgdmFsaWRf ZnJvbSB8IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCisgdmFsaWRfdGlsICB8 IGRhdGUgICAgICB8ICAgICAgICAgICB8ICAgICAgICAgIHwgCitQZXJpb2RzOgorICAgIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpCitJbmRleGVzOgorICAgICJ0ZW1wb3JhbDNfcGsi IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0 cmFpbnRzOgorICAgICJ0ZW1wb3JhbDNfdmFsaWRfYXRfY2hlY2siIENIRUNLICh2YWxpZF9mcm9t IDwgdmFsaWRfdGlsKQorCitTRUxFQ1QgYXR0bm90bnVsbCBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVS RSBhdHRyZWxpZCA9ICd0ZW1wb3JhbDMnOjpyZWdjbGFzcyBBTkQgYXR0bmFtZSA9ICd2YWxpZF9h dCc7CisgYXR0bm90bnVsbCAKKy0tLS0tLS0tLS0tLQorIHQKKygxIHJvdykKKworQUxURVIgVEFC TEUgdGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBEUk9QIE5PVCBOVUxMOworRVJST1I6 ICBjb2x1bW4gInZhbGlkX2F0IiBpcyBpbiBhIHByaW1hcnkga2V5CitBTFRFUiBUQUJMRSB0ZW1w b3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IFRZUEUgdHN0enJhbmdlIFVTSU5HIHRzdHpyYW5n ZShsb3dlcih2YWxpZF9hdCksIHVwcGVyKHZhbGlkX2F0KSk7CitFUlJPUjogIGNhbm5vdCBzcGVj aWZ5IFVTSU5HIHdoZW4gYWx0ZXJpbmcgdHlwZSBvZiBnZW5lcmF0ZWQgY29sdW1uCitMSU5FIDE6 IEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgVFlQRSB0c3R6cmFu Z2UgVS4uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KK0RF VEFJTDogIENvbHVtbiAidmFsaWRfYXQiIGlzIGEgZ2VuZXJhdGVkIGNvbHVtbi4KK0FMVEVSIFRB QkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF9hdDsKK0VSUk9SOiAgY2Fubm90IGRyb3Ag Y29sdW1uIHZhbGlkX2F0IG9mIHRhYmxlIHRlbXBvcmFsMyBiZWNhdXNlIHBlcmlvZCB2YWxpZF9h dCBvbiB0YWJsZSB0ZW1wb3JhbDMgcmVxdWlyZXMgaXQKK0hJTlQ6ICBZb3UgY2FuIGRyb3AgcGVy aW9kIHZhbGlkX2F0IG9uIHRhYmxlIHRlbXBvcmFsMyBpbnN0ZWFkLgorQUxURVIgVEFCTEUgdGVt cG9yYWwzIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdDsKK1xkIHRlbXBvcmFsMworICAgICAgICAg ICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAg fCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJh bmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwg ICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKKworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CistLSBTYW1lIHJlc3Vs dHMgaWYgd2UgYWRkIHRoZSBQRVJJT0QgYW5kIFBLIGZyb20gQUxURVIgVEFCTEU6CitDUkVBVEUg VEFCTEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsK K1xkIHRlbXBvcmFsMworICAgICAgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWwzIgor ICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQg CistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2 YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90 aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1BlcmlvZHM6CisgICAg dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAgInRlbXBvcmFs M19wayIgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorQ2hlY2sg Y29uc3RyYWludHM6CisgICAgInRlbXBvcmFsM192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlk X2Zyb20gPCB2YWxpZF90aWwpCisKK1NFTEVDVCBhdHRub3RudWxsIEZST00gcGdfYXR0cmlidXRl IFdIRVJFIGF0dHJlbGlkID0gJ3RlbXBvcmFsMyc6OnJlZ2NsYXNzIEFORCBhdHRuYW1lID0gJ3Zh bGlkX2F0JzsKKyBhdHRub3RudWxsIAorLS0tLS0tLS0tLS0tCisgdAorKDEgcm93KQorCitBTFRF UiBUQUJMRSB0ZW1wb3JhbDMgQUxURVIgQ09MVU1OIHZhbGlkX2F0IERST1AgTk9UIE5VTEw7CitF UlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIGlzIGluIGEgcHJpbWFyeSBrZXkKIERST1AgVEFCTEUg dGVtcG9yYWwzOwogLS0KIC0tIHRlc3QgUEFSVElUSU9OIEJZIGZvciByYW5nZXMKQEAgLTE0MTQs MzIgKzIwMTksMjM2IEBAIFNFTEVDVCAqIEZST00gdGVtcG9yYWxfbWx0cm5nMyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CiAKIERST1AgVEFCTEUgdGVtcG9yYWxfbWx0cm5nMzsKIC0tCi0tLSB0ZXN0 IEZLIGRlcGVuZGVuY2llcwotLS0KLS0tIGNhbid0IGRyb3AgYSByYW5nZSByZWZlcmVuY2VkIGJ5 IGFuIEZLLCB1bmxlc3Mgd2l0aCBDQVNDQURFCi1DUkVBVEUgVEFCTEUgdGVtcG9yYWwzICgKLSAg aWQgaW50NHJhbmdlLAotICB2YWxpZF9hdCBkYXRlcmFuZ2UsCi0gIENPTlNUUkFJTlQgdGVtcG9y YWwzX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKLSk7Ci1D UkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZyAoCi0gIGlkIGludDRyYW5nZSwKLSAgdmFs aWRfYXQgZGF0ZXJhbmdlLAotICBwYXJlbnRfaWQgaW50NHJhbmdlLAotICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3JuZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKSwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKLSAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsMyAo aWQsIFBFUklPRCB2YWxpZF9hdCkKLSk7Ci1BTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBDT0xV TU4gdmFsaWRfYXQ7Ci1FUlJPUjogIGNhbm5vdCBkcm9wIGNvbHVtbiB2YWxpZF9hdCBvZiB0YWJs ZSB0ZW1wb3JhbDMgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRlcGVuZCBvbiBpdAotREVUQUlMOiAg Y29uc3RyYWludCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrX3Ju ZzJybmcgZGVwZW5kcyBvbiBjb2x1bW4gdmFsaWRfYXQgb2YgdGFibGUgdGVtcG9yYWwzCi1ISU5U OiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUgZGVwZW5kZW50IG9iamVjdHMgdG9v LgotQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZhbGlkX2F0IENBU0NBREU7Ci1O T1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0cmFpbnQgdGVtcG9yYWxfZmtfcm5nMnJuZ19m ayBvbiB0YWJsZSB0ZW1wb3JhbF9ma19ybmcycm5nCi1EUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3Ju ZzJybmc7Ci1EUk9QIFRBQkxFIHRlbXBvcmFsMzsKKy0tIE9OIENPTkZMSUNUOiBQRVJJT0RzCiAt LQotLS0gdGVzdCBGT1JFSUdOIEtFWSwgcmFuZ2UgcmVmZXJlbmNlcyByYW5nZQorVFJVTkNBVEUg dGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsK Ky0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEt MDEnKSBPTiBDT05GTElDVCBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxp Y3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1Qg RE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMykn LCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgRE8gTk9USElORzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWw7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKyBbMSwy KSB8IDIwMTAtMDEtMDEgfCAyMDIwLTAxLTAxCisgWzIsMykgfCAyMDA1LTAxLTAxIHwgMjAwNi0w MS0wMQorKDMgcm93cykKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcy MDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwy KScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0 KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUgb3IgZXhjbHVzaW9uIGNv bnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmljYXRpb24KKy0tIGlkIG1h dGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0w MS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIE5PVEhJTkc7CitFUlJPUjogIHRo ZXJlIGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04g Q09ORkxJQ1Qgc3BlY2lmaWNhdGlvbgorLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQs IHZhbGlkX2F0KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUgb3IgZXhj bHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmljYXRpb24K K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKygx IHJvdykKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAx JywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1 LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFs X3Blcl9wayBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RS QUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gTk9USElORzsKKy0tIGRhdGUgbWF0Y2hlcyBidXQgbm8g Y29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09O RkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gTk9USElORzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7Cisg IGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxLDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKyBbMSwyKSB8IDIw MTAtMDEtMDEgfCAyMDIwLTAxLTAxCisgWzIsMykgfCAyMDA1LTAxLTAxIHwgMjAwNi0wMS0wMQor KDMgcm93cykKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAx LTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcy MDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBV UERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOworRVJST1I6ICB0aGVyZSBpcyBu byB1bmlxdWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNU IHNwZWNpZmljYXRpb24KKy0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQp IERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMyw0KSc7CitFUlJPUjogIHRoZXJl IGlzIG5vIHVuaXF1ZSBvciBleGNsdXNpb24gY29uc3RyYWludCBtYXRjaGluZyB0aGUgT04gQ09O RkxJQ1Qgc3BlY2lmaWNhdGlvbgorLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZh bGlkX2F0KSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworRVJST1I6 ICB0aGVyZSBpcyBubyB1bmlxdWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhl IE9OIENPTkZMSUNUIHNwZWNpZmljYXRpb24KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9S REVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxLDIpIHwg MjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKygxIHJvdykKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVy OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBj b25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05G TElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUgU0VUIGlkID0gRVhD TFVERUQuaWQgKyAnWzIsMyknOworRVJST1I6ICBPTiBDT05GTElDVCBETyBVUERBVEUgbm90IHN1 cHBvcnRlZCB3aXRoIGV4Y2x1c2lvbiBjb25zdHJhaW50cworLS0gaWQgbWF0Y2hlcyBidXQgbm8g Y29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09O RkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gVVBEQVRFIFNFVCBpZCA9IEVY Q0xVREVELmlkICsgJ1szLDQpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5vdCBz dXBwb3J0ZWQgd2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKKy0tIGRhdGUgbWF0Y2hlcyBidXQg bm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04g Q09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gVVBEQVRFIFNFVCBpZCA9 IEVYQ0xVREVELmlkICsgJ1s0LDUpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5v dCBzdXBwb3J0ZWQgd2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisgIGlkICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LQorIFsxLDIpIHwgMjAwMC0wMS0wMSB8IDIwMTAtMDEtMDEKKygxIHJvdykKKworLS0gd2l0aCBh IFVOSVFVRSBjb25zdHJhaW50OgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZCBp bnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklP RCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfcGVyM191cSBVTklRVUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsK K1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIw MTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0w MScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgRE8gTk9USElORzsKKy0tIGlkIG1hdGNoZXMg YnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEn KSBPTiBDT05GTElDVCBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGlj dAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1Qg RE8gTk9USElORzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsOworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCist LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMDAtMDEtMDEgfCAy MDEwLTAxLTAxCisgWzEsMikgfCAyMDEwLTAxLTAxIHwgMjAyMC0wMS0wMQorIFsyLDMpIHwgMjAw NS0wMS0wMSB8IDIwMDYtMDEtMDEKKygzIHJvd3MpCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBj b25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09O RkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5p cXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVj aWZpY2F0aW9uCistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAn MjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8g Tk9USElORzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBjb25zdHJh aW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCistLSBkYXRlIG1hdGNo ZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEt MDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBOT1RISU5HOworRVJST1I6ICB0aGVy ZSBpcyBubyB1bmlxdWUgb3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENP TkZMSUNUIHNwZWNpZmljYXRpb24KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBC WSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMDAt MDEtMDEgfCAyMDEwLTAxLTAxCisoMSByb3cpCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25m bGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJ Q1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIE5PVEhJTkc7CistLSBpZCBtYXRj aGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAx LTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIE5PVEhJ Tkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1 LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFs X3BlcjNfdXEgRE8gTk9USElORzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBC WSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMDAt MDEtMDEgfCAyMDEwLTAxLTAxCisgWzEsMikgfCAyMDEwLTAxLTAxIHwgMjAyMC0wMS0wMQorIFsy LDMpIHwgMjAwNS0wMS0wMSB8IDIwMDYtMDEtMDEKKygzIHJvd3MpCisKK1RSVU5DQVRFIHRlbXBv cmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0t IHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAx JykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVE LmlkICsgJ1syLDMpJzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1c2lvbiBj b25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCistLSBpZCBt YXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIw LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVY Q0xVREVELmlkICsgJ1szLDQpJzsKK0VSUk9SOiAgdGhlcmUgaXMgbm8gdW5pcXVlIG9yIGV4Y2x1 c2lvbiBjb25zdHJhaW50IG1hdGNoaW5nIHRoZSBPTiBDT05GTElDVCBzcGVjaWZpY2F0aW9uCist LSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIz IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAx JywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBVUERBVEUgU0VU IGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworRVJST1I6ICB0aGVyZSBpcyBubyB1bmlxdWUg b3IgZXhjbHVzaW9uIGNvbnN0cmFpbnQgbWF0Y2hpbmcgdGhlIE9OIENPTkZMSUNUIHNwZWNpZmlj YXRpb24KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsOworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgCistLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8IDIwMDAtMDEtMDEgfCAyMDEwLTAx LTAxCisoMSByb3cpCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcy MDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEs MiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlO VCB0ZW1wb3JhbF9wZXIzX3VxIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwz KSc7CitFUlJPUjogIE9OIENPTkZMSUNUIERPIFVQREFURSBub3Qgc3VwcG9ydGVkIHdpdGggZXhj bHVzaW9uIGNvbnN0cmFpbnRzCistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RS QUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdb Myw0KSc7CitFUlJPUjogIE9OIENPTkZMSUNUIERPIFVQREFURSBub3Qgc3VwcG9ydGVkIHdpdGgg ZXhjbHVzaW9uIGNvbnN0cmFpbnRzCistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBD T05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlk ICsgJ1s0LDUpJzsKK0VSUk9SOiAgT04gQ09ORkxJQ1QgRE8gVVBEQVRFIG5vdCBzdXBwb3J0ZWQg d2l0aCBleGNsdXNpb24gY29uc3RyYWludHMKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBP UkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworICBpZCAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMSwyKSB8 IDIwMDAtMDEtMDEgfCAyMDEwLTAxLTAxCisoMSByb3cpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxf cGVyMzsKKy0tCistLSB0ZXN0IEZLIGRlcGVuZGVuY2llcworLS0KKy0tIGNhbid0IGRyb3AgYSBy YW5nZSByZWZlcmVuY2VkIGJ5IGFuIEZLLCB1bmxlc3Mgd2l0aCBDQVNDQURFCitDUkVBVEUgVEFC TEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisg IENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZyAoCisgIGlk IGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdl LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsMyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRfYXQ7CitFUlJPUjogIGNhbm5vdCBkcm9wIGNvbHVt biB2YWxpZF9hdCBvZiB0YWJsZSB0ZW1wb3JhbDMgYmVjYXVzZSBvdGhlciBvYmplY3RzIGRlcGVu ZCBvbiBpdAorREVUQUlMOiAgY29uc3RyYWludCB0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIG9uIHRh YmxlIHRlbXBvcmFsX2ZrX3JuZzJybmcgZGVwZW5kcyBvbiBjb2x1bW4gdmFsaWRfYXQgb2YgdGFi bGUgdGVtcG9yYWwzCitISU5UOiAgVXNlIERST1AgLi4uIENBU0NBREUgdG8gZHJvcCB0aGUgZGVw ZW5kZW50IG9iamVjdHMgdG9vLgorQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgQ09MVU1OIHZh bGlkX2F0IENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0cmFpbnQgdGVt cG9yYWxfZmtfcm5nMnJuZ19mayBvbiB0YWJsZSB0ZW1wb3JhbF9ma19ybmcycm5nCitEUk9QIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJybmc7CitEUk9QIFRBQkxFIHRlbXBvcmFsMzsKKy0tIGNhbid0 IGRyb3AgYSBQRVJJT0QgcmVmZXJlbmNlZCBieSBhbiBGSywgdW5sZXNzIHdpdGggQ0FTQ0FERQor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBk YXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJv bSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsMyAoaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0 OworRVJST1I6ICBjYW5ub3QgZHJvcCBwZXJpb2QgdmFsaWRfYXQgb24gdGFibGUgdGVtcG9yYWwz IGJlY2F1c2Ugb3RoZXIgb2JqZWN0cyBkZXBlbmQgb24gaXQKK0RFVEFJTDogIGNvbnN0cmFpbnQg dGVtcG9yYWxfZmtfcGVyMnBlcl9mayBvbiB0YWJsZSB0ZW1wb3JhbF9ma19wZXIycGVyIGRlcGVu ZHMgb24gY29sdW1uIHZhbGlkX2F0IG9mIHRhYmxlIHRlbXBvcmFsMworSElOVDogIFVzZSBEUk9Q IC4uLiBDQVNDQURFIHRvIGRyb3AgdGhlIGRlcGVuZGVudCBvYmplY3RzIHRvby4KK0FMVEVSIFRB QkxFIHRlbXBvcmFsMyBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQgQ0FTQ0FERTsKK05PVElDRTog IGRyb3AgY2FzY2FkZXMgdG8gY29uc3RyYWludCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIG9uIHRh YmxlIHRlbXBvcmFsX2ZrX3BlcjJwZXIKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcjsK K0RST1AgVEFCTEUgdGVtcG9yYWwzOworLS0KKy0tIHRlc3QgRk9SRUlHTiBLRVksIHJhbmdlIHJl ZmVyZW5jZXMgcmFuZ2UKIC0tCiAtLSB0ZXN0IHRhYmxlIHNldHVwCiBEUk9QIFRBQkxFIHRlbXBv cmFsX3JuZzsKQEAgLTE0NjcsNiArMjI3NiwxOCBAQCBDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cm5nMnJuZyAoCiAgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnJuZ19mayBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCiAgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9y bmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCiApOworXGQgdGVtcG9yYWxfZmtfcm5nMnJuZworICAg ICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsX2ZrX3JuZzJybmciCisgIENvbHVtbiAgIHwg ICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAg fCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2F0ICB8IGRhdGVy YW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgcGFyZW50X2lkIHwgaW50NHJhbmdlIHwg ICAgICAgICAgIHwgICAgICAgICAgfCAKK0luZGV4ZXM6CisgICAgInRlbXBvcmFsX2ZrX3JuZzJy bmdfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0ZvcmVp Z24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9ma19ybmcycm5nX2ZrIiBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n KGlkLCBQRVJJT0QgdmFsaWRfYXQpCisKIERST1AgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnJuZzsK IC0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJT0QgY29sdW1uczoKIC0tIChwYXJlbnRfaWQsIFBFUklP RCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQpAQCAtMzU4NSw4MyArNDQwNiwz NTY2IEBAIFNFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21sdHJuZzJtbHRybmcgV0hFUkUgaWQg PSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsCiAgWzIwMCwyMDEpIHwge1syMDIwLTAxLTAx LDIwMjEtMDEtMDEpfSB8IFs4LDkpICAgICAgfCBbOCw5KQogKDIgcm93cykKIAotLS0gRksgd2l0 aCBhIGN1c3RvbSByYW5nZSB0eXBlCi1DUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShz dWJ0eXBlPWRhdGUpOwotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMgKAorLS0KKy0tIHRlc3Qg Rk9SRUlHTiBLRVksIFBFUklPRCByZWZlcmVuY2VzIFBFUklPRAorLS0KKy0tIHRlc3QgdGFibGUg c2V0dXAKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVyOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3Bl ciAoCiAgIGlkIGludDRyYW5nZSwKLSAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UsCi0gIENPTlNUUkFJ TlQgdGVtcG9yYWxfcm5nM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZF UkxBUFMpCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBG T1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKICk7Ci1DUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmszX3JuZzJybmcgKAorQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX3Blcl9waworICBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpOworLS0gQ2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBhIG1pc21hdGNoZWQgcmFu Z2UgdHlwZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAogICBpZCBpbnQ0cmFu Z2UsCi0gIHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAorICB2YWxpZF9mcm9tIGludCwKKyAgdmFsaWRf dGlsIGludCwKICAgcGFyZW50X2lkIGludDRyYW5nZSwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m azNfcm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAotICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKLSAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzMgKGlk LCBQRVJJT0QgdmFsaWRfYXQpIE9OIERFTEVURSBDQVNDQURFCisgIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9E IHZhbGlkX2F0KQogKTsKLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzMgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzgsOSknLCBteWRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJykp OwotSU5TRVJUIElOVE8gdGVtcG9yYWxfZmszX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbNSw2KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKSwgJ1s4LDkpJyk7Ci1ERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmczIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdb OCw5KSc7Ci1TRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrM19ybmcycm5nIFdIRVJFIGlkID0gJ1s1 LDYpJzsKLSAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAotLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCi0gWzUsNikgfCBbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs4LDkpCi0gWzUsNikgfCBbMjAyMC0wMS0wMSwyMDIxLTAx LTAxKSB8IFs4LDkpCi0oMiByb3dzKQorRVJST1I6ICBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0 ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBjYW5ub3QgYmUgaW1wbGVtZW50ZWQKK0RFVEFJTDogIEtl eSBjb2x1bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGFuZCAidmFsaWRf YXQiIG9mIHRoZSByZWZlcmVuY2VkIHRhYmxlIGFyZSBvZiBpbmNvbXBhdGlibGUgdHlwZXM6IGlu dDRyYW5nZSBhbmQgZGF0ZXJhbmdlLgorLS0gd29ya3M6IFBFUklPRCBmb3IgYm90aCByZWZlcmVu Y2VkIGFuZCByZWZlcmVuY2luZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsK K1xkIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgICAgICAgICAgVGFibGUgInB1YmxpYy50ZW1wb3Jh bF9ma19wZXIycGVyIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xsYXRpb24gfCBOdWxs YWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwg bm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAg ICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwgICAgICAgICAgfCAK KyBwYXJlbnRfaWQgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK1Blcmlv ZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0luZGV4ZXM6CisgICAg InRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9V VCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9ma19wZXIycGVy X3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3RpbCkKK0ZvcmVpZ24t a2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyKGlk LCBQRVJJT0QgdmFsaWRfYXQpCiAKLURST1AgVEFCTEUgdGVtcG9yYWxfZmszX3JuZzJybmc7Ci1E Uk9QIFRBQkxFIHRlbXBvcmFsX3JuZzM7Ci1EUk9QIFRZUEUgbXlkYXRlcmFuZ2U7Ci0tLQotLS0g RksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IHJhbmdlcwotLS0KLUNSRUFURSBUQUJMRSB0 ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKAorRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVy OworLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5zOgorLS0gKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBSRUZFUkVOQ0VTIHBh cnQgc2hvdWxkIHNwZWNpZnkgUEVSSU9ECitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBl ciAoCiAgIGlkIGludDRyYW5nZSwKLSAgdmFsaWRfYXQgZGF0ZXJhbmdlLAotICBuYW1lIHRleHQs Ci0gIENPTlNUUkFJTlQgdGVtcG9yYWxfcGFyaXRpb25lZF9ybmdfcGsgUFJJTUFSWSBLRVkgKGlk LCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQotKSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOwot Q1JFQVRFIFRBQkxFIHRwMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZP UiBWQUxVRVMgSU4gKCdbMSwyKScsICdbMyw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCkn LCAnWzExLDEyKScsICdbMTMsMTQpJywgJ1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywg J1syMSwyMiknLCAnWzIzLDI0KScpOwotQ1JFQVRFIFRBQkxFIHRwMiBQQVJUSVRJT04gT0YgdGVt cG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdb NCw1KScsICdbNiw3KScsICdbOCw5KScsICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScs ICdbMTYsMTcpJywgJ1sxOCwxOSknLCAnWzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsK LUlOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0LCBuYW1l KSBWQUxVRVMKLSAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTAx JyksICdvbmUnKSwKLSAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAwMC0wMi0wMScsICcyMDAwLTAz LTAxJyksICdvbmUnKSwKLSAgKCdbMiwzKScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEw LTAxLTAxJyksICd0d28nKTsKLUNSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19y bmcycm5nICgKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50 X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVp Z24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2luZyB0YWJsZSBidXQgbm90IHRoZSBy ZWZlcmVuY2VkIHRhYmxlCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQs IHZhbGlkX2F0KQorLS0gYm90aCBzaG91bGQgc3BlY2lmeSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnBlciAoCiAgIGlkIGludDRyYW5nZSwKLSAgdmFsaWRfYXQgZGF0ZXJh bmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAogICBwYXJlbnRfaWQg aW50NHJhbmdlLAotICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmdf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKLSAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKLSAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKLSkgUEFSVElUSU9OIEJZIExJU1QgKGlkKTsK LUNSRUFURSBUQUJMRSB0ZmtwMSBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtf cm5nMnJuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcsOCkn LCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYpJywgJ1sxNywxOCknLCAn WzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKLUNSRUFURSBUQUJMRSB0ZmtwMiBQQVJU SVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1IgVkFMVUVTIElOICgn WzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScsICdb MTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywgJ1syMCwyMSknLCAnWzIy LDIzKScsICdbMjQsMjUpJyk7Ci0tLQotLS0gcGFydGl0aW9uZWQgRksgcmVmZXJlbmNpbmcgaW5z ZXJ0cwotLS0KLUlOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKLSAgKCdbMSwyKScsIGRhdGVyYW5nZSgnMjAw MC0wMS0wMScsICcyMDAwLTAyLTE1JyksICdbMSwyKScpLAotICAoJ1sxLDIpJywgZGF0ZXJhbmdl KCcyMDAxLTAxLTAxJywgJzIwMDItMDEtMDEnKSwgJ1syLDMpJyksCi0gICgnWzIsMyknLCBkYXRl cmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0xNScpLCAnWzEsMiknKTsKLS0tIHNob3VsZCBm YWlsOgotSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUwotICAoJ1szLDQpJywgZGF0ZXJhbmdlKCcyMDEwLTAx LTAxJywgJzIwMTAtMDItMTUnKSwgJ1sxLDIpJyk7Ci1FUlJPUjogIGluc2VydCBvciB1cGRhdGUg b24gdGFibGUgInRma3AxIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrIgotREVUQUlMOiAgS2V5IChwYXJlbnRfaWQsIHZh bGlkX2F0KT0oWzEsMiksIFsyMDEwLTAxLTAxLDIwMTAtMDItMTUpKSBpcyBub3QgcHJlc2VudCBp biB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KLUlOU0VSVCBJTlRPIHRlbXBvcmFs X3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMK LSAgKCdbMyw0KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTE1JyksICdbMyw0 KScpOwotRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZmtwMSIgdmlvbGF0ZXMg Zm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZ19m ayIKLURFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFszLDQpLCBbMjAwMC0wMS0w MSwyMDAwLTAyLTE1KSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BhcnRpdGlv bmVkX3JuZyIuCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCks CisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IG11c3Qg dXNlIFBFUklPRCB3aGVuIHJlZmVyZW5jaW5nIGEgcHJpbWFyeSBrZXkgdXNpbmcgV0lUSE9VVCBP VkVSTEFQUworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0Qg dmFsaWRfYXQpCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JF QVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisg IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIg KGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklP RCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQor LS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorLS0gRk9SRUlH TiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlk X3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOworRVJST1I6ICBmb3JlaWdu IGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZl cmVuY2luZyB0YWJsZQorLS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VT IChpZCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50 NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxp ZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlciAoaWQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklP RCBvbiB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNlZCB0YWJsZQor LS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9t IGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJ T0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFs aWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJl bmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQorLS0gd2l0aCBpbmZlcnJl ZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVy MnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitEUk9QIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJwZXI7CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0K K0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdl LAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBX SVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZP UkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitF UlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1 dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1 cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVy MnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwg ZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3Br IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg cGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIGlkKQor KTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgcmVmZXJlbmNlZC1jb2x1bW5zIGxpc3QgbXVzdCBub3Qg Y29udGFpbiBkdXBsaWNhdGVzCistLSBUd28gc2NhbGFyIGNvbHVtbnMKK0RST1AgVEFCTEUgdGVt cG9yYWxfcGVyMjsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQxIGludDRyYW5n ZSwKKyAgaWQyIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUykKKyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUs CisgIHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVS SU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrIEZPUkVJR04g S0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRl bXBvcmFsX2ZrMl9wZXIycGVyCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmsy X3BlcjJwZXIiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxl IHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3Qg bnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8 IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHBh cmVudF9pZDEgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9p ZDIgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2 YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWxf ZmsyX3BlcjJwZXJfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJfcGVyMnBlcl92YWxpZF9h dF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCitGb3JlaWduLWtleSBjb25z dHJhaW50czoKKyAgICAidGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsiIEZPUkVJR04gS0VZIChwYXJl bnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyMihpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX2Zr Ml9wZXIycGVyOwogLS0KLS0tIHBhcnRpdGlvbmVkIEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0t IHRlc3QgQUxURVIgVEFCTEUgQUREIENPTlNUUkFJTlQKIC0tCi1VUERBVEUgdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyBTRVQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEn LCAnMjAwMC0wMi0xMycpIFdIRVJFIGlkID0gJ1syLDMpJzsKLS0tIG1vdmUgYSByb3cgZnJvbSB0 aGUgZmlyc3QgcGFydGl0aW9uIHRvIHRoZSBzZWNvbmQKLVVQREFURSB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ma19ybmcycm5nIFNFVCBpZCA9ICdbNCw1KScgV0hFUkUgaWQgPSAnWzEsMiknOwotLS0g bW92ZSBhIHJvdyBmcm9tIHRoZSBzZWNvbmQgcGFydGl0aW9uIHRvIHRoZSBmaXJzdAotVVBEQVRF IHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgU0VUIGlkID0gJ1sxLDIpJyBXSEVSRSBp ZCA9ICdbNCw1KSc7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGlu dDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50 X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRf dGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9hdCk7CistLSBUd28gc2NhbGFyIGNvbHVtbnM6CitD UkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZDEgaW50NHJhbmdl LAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Bl cjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZh bGlkX2F0KTsKK1xkIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgICAgICAgICAgIFRhYmxlICJwdWJs aWMudGVtcG9yYWxfZmsyX3BlcjJwZXIiCisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxh dGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAg ICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBkYXRlICAgICAgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAgICAgfCAgICAgICAgICAgfCAg ICAgICAgICB8IAorIHBhcmVudF9pZDEgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAg ICB8IAorIHBhcmVudF9pZDIgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAor UGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorSW5kZXhlczoK KyAgICAidGVtcG9yYWxfZmsyX3BlcjJwZXJfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJf cGVyMnBlcl92YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zyb20gPCB2YWxpZF90aWwpCitG b3JlaWduLWtleSBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsiIEZP UkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGVyMihpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorCistLSB3aXRo IGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlLCBhbmQgd3JvbmcgY29sdW1uIHR5 cGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycGVyX2ZrLAorICBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQsCisgIEFM VEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgdGltZXN0YW1wLAorICBBTFRFUiBDT0xVTU4gdmFs aWRfdGlsIFRZUEUgdGltZXN0YW1wLAorICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworRVJST1I6 ICBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBjYW5ub3Qg YmUgaW1wbGVtZW50ZWQKK0RFVEFJTDogIEtleSBjb2x1bW5zICJ2YWxpZF9hdCIgb2YgdGhlIHJl ZmVyZW5jaW5nIHRhYmxlIGFuZCAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2VkIHRhYmxlIGFy ZSBvZiBpbmNvbXBhdGlibGUgdHlwZXM6IHRzcmFuZ2UgYW5kIGRhdGVyYW5nZS4KK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0LAorICBB TFRFUiBDT0xVTU4gdmFsaWRfZnJvbSBUWVBFIGRhdGUsCisgIEFMVEVSIENPTFVNTiB2YWxpZF90 aWwgVFlQRSBkYXRlLAorICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFs aWRfdGlsKTsKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGU6CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ugb2Yg ZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazIKKyAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIgKGlkLCBQRVJJT0QgaWQpOworRVJST1I6ICBmb3JlaWduIGtleSByZWZlcmVuY2VkLWNv bHVtbnMgbGlzdCBtdXN0IG5vdCBjb250YWluIGR1cGxpY2F0ZXMKKy0tCistLSB0ZXN0IHdpdGgg cm93cyBhbHJlYWR5CistLQorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4 LTAyLTAzJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0JyksCisgICgn WzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1JyksCisgICgnWzMsNCknLCAnMjAxOC0w MS0wMScsIE5VTEwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyk7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJw ZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOworLS0g c2hvdWxkIGZhaWw6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0VSUk9SOiAgaW5z ZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIKK0RFVEFJTDogIEtl eSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKSkg aXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCistLSBva2F5IGFnYWluOgor REVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JF SUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGVyOworLS0KKy0tIHRlc3QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYKKy0tCitTRUxFQ1QgcGdf Z2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9 ICd0ZW1wb3JhbF9ma19wZXIycGVyX2ZrJzsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBnX2dldF9jb25zdHJhaW50ZGVmICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcihpZCwgUEVSSU9EIHZh bGlkX2F0KQorKDEgcm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCist LQorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDIt MDEnLCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKK0VSUk9SOiAgaW5z ZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIKK0RFVEFJTDogIEtl eSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKSkg aXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCistLSBub3cgaXQgc2hvdWxk IHdvcms6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDItMDMnLCAnMjAxOC0wMy0wMycpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEs MiknKTsKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCistLSBzbGlkZSB0 aGUgZWRnZSBhY3Jvc3MgYSByZWZlcmVuY2VkIHRyYW5zaXRpb246CitVUERBVEUgdGVtcG9yYWxf ZmtfcGVyMnBlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIw MTgtMDItMjAnIFdIRVJFIGlkID0gJ1sxLDIpJzsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFIHRl bXBvcmFsX2ZrX3BlcjJwZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3Rp bCA9ICcyMDE4LTA1LTAxJyBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIGluc2VydCBvciB1 cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0wNS0wMSkpIGlzIG5vdCBw cmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9wZXIiLgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJw ZXIgU0VUIHBhcmVudF9pZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAnWzEsMiknOworRVJST1I6ICBp bnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIiB2aW9sYXRlcyBm b3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIgorREVUQUlMOiAg S2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzgsOSksIFsyMDE4LTAxLTAyLDIwMTgtMDItMjAp KSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KKy0tIEFMVEVSIEZLIERF RkVSUkFCTEUKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAgICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4 LTAyLTAxJyksCisgICAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKKyAg SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgICAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0w MS0xMCcsICdbNSw2KScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgICAg QUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgREVGRVJSQUJMRSBJ TklUSUFMTFkgREVGRVJSRUQ7CisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9 ICdbNSw2KSc7IC0tc2hvdWxkIG5vdCBmYWlsIHlldC4KK0NPTU1JVDsgLS0gc2hvdWxkIGZhaWwg aGVyZS4KK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2 aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBv biB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0 KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZy b20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCB1cGRhdGVzIE5PIEFDVElPTgorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxf ZmtfcGVyMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgRFJPUCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3BlcgorICBPTiBVUERBVEUgTk8gQUNUSU9OOworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVk cyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlzbid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s1LDYpJywg JzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFs aWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnIFdIRVJFIGlk ID0gJ1s1LDYpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhl IG51bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1s1LDYpJywg JzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1LDYpJywgJzIwMTgtMDItMDEnLCAn MjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICcyMDE4LTAx LTA1JywgJzIwMTgtMDEtMTAnLCAnWzUsNiknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZh bGlkX2Zyb20gPSAnMjAxNi0wMi0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAzLTAxJworV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwg PSAnMjAxOC0wMy0wMSc7CistLSBBIFBLIHVwZGF0ZSBzbGlkaW5nIHRoZSBlZGdlIGJldHdlZW4g dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDE4 LTAyLTAxJyksCisgICgnWzYsNyknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQpIFZBTFVFUworICAoJ1s0LDUpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0xNScs ICdbNiw3KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcgorU0VUIHZhbGlkX2Zyb20gPSBDQVNFIFdI RU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBUSEVOICcyMDE4LTAxLTAxJworICAgICAgICAg ICAgICAgICAgICAgIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBUSEVOICcyMDE4LTAx LTA1JyBFTkQ6OmRhdGUsCisgICAgdmFsaWRfdGlsID0gIENBU0UgV0hFTiB2YWxpZF9mcm9tID0g JzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgtMDEtMDUnCisgICAgICAgICAgICAgICAgICAgICAgV0hF TiB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIFRIRU4gJzIwMTgtMDMtMDEnIEVORDo6ZGF0ZQor V0hFUkUgaWQgPSAnWzYsNyknOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVu Y2VkIHJhbmdlIGJ1dCBzdGlsbCB2YWxpZDoKKy0tIFRoZXJlIGFyZSB0d28gcmVmZXJlbmNlczog b25lIGZ1bGZpbGxlZCBieSB0aGUgZmlyc3QgcGsgcm93LAorLS0gdGhlIG90aGVyIGZ1bGZpbGxl ZCBieSBib3RoIHBrIHJvd3MgY29tYmluZWQuCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDEn LCAnMjAxOC0wMy0wMScpLAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDEnLCAnMjAxOC0wNi0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTE1JywgJzIwMTgt MDItMDEnLCAnWzEsMiknKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDUtMDEn LCAnWzEsMiknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0w MS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBncm93aW5nIHRo ZSByZWZlcmVuY2VkIHJhbmdlIGlzIGZpbmU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxp ZF9mcm9tID0gJzIwMTgtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlk ID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMjUnOjpkYXRlOworLS0gYSBQSyB1 cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGFuZCBjaGFuZ2luZyB0aGUgaWQg aW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQg PSAnWzIsMyknLCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90aWwgPSAnMjAxOC0w My0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpk YXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZp b2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiIG9u IHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQp PShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJv bSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCistLSBhIFBLIHVwZGF0ZSBjaGFuZ2luZyBv bmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVtcG9yYWxf cGVyIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTgtMDEtMTUnOjpkYXRlOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0 ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2Zr X3BlcjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAgS2V5 IChpZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkpIGlzIHN0aWxs IHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCistLSBhIFBLIHVw ZGF0ZSB0aGF0IGxvc2VzIHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBpcyBzdGlsbCB2YWxpZDoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTCisgICgnWzIsMyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMiwz KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1Jywg dmFsaWRfdGlsID0gJzIwMTgtMDItMTUnCitXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBhIFBLIHVw ZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK1VQREFURSB0ZW1w b3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2 LTAyLTAxJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEn IEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUg b24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAi dGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiCitE RVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAx KSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIi4K Ky0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBi dXQgbm90ICd0aWwgY29tbWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgICBE RUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKyAgVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQg dmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCisgIFdI RVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAxOC0wMi0wMScpOworQ09NTUlUOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxl ICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFs X2ZrX3BlcjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVUQUlMOiAg S2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0 aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCistLSBjaGFu Z2luZyB0aGUgc2NhbGFyIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9 ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAx JyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRl IG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQg InRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgor REVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0w MSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIu CistLSBjaGFuZ2luZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorVVBEQVRFIHRlbXBv cmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIw MTgtMDEtMDMnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBjaGFu Z2luZyBqdXN0IGEgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9O IE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJworU0VUIGlkID0g J1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9u IHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRl bXBvcmFsX2ZrX3BlcjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVU QUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkp IGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg CistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbNSw2KSB8IDIwMTYtMDItMDEg fCAyMDE2LTAzLTAxCisgWzUsNikgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wMgorIFs1LDYpIHwg MjAxOC0wMS0wMyB8IDIwMTgtMDItMDEKKyBbNyw4KSB8IDIwMTgtMDEtMDIgfCAyMDE4LTAxLTAz CisoNCByb3dzKQorCitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQg aW4gKCdbMyw0KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tCisgWzMsNCkgfCAyMDE4LTAxLTA1IHwgMjAxOC0wMS0xMCB8IFs1LDYp CisoMSByb3cpCisKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksgcmVjb3JkIGFuZCB0 aGUgc2FtZSBQSyB1cGRhdGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIy cGVyIFdIRVJFIGlkID0gJ1szLDQpJzsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zy b20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworV0hFUkUgaWQgPSAn WzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAx OC0wMi0wMSc7CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgT04gVVBEQVRFIFJFU1RS SUNUOworRVJST1I6ICB1bnN1cHBvcnRlZCBPTiBVUERBVEUgYWN0aW9uIGZvciBmb3JlaWduIGtl eSBjb25zdHJhaW50IHVzaW5nIFBFUklPRAorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxl dGVzIE5PIEFDVElPTgorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVy MnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworLS0gYSBQSyBkZWxldGUgdGhh dCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlzbid0IHJlZmVyZW5jZWQ6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgc3VjY2VlZHMg ZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5n ZSBpc24ndDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisg ICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdbNSw2KScpOworREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9 ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnOworLS0gYSBQSyBkZWxl dGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQ6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEt MDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxl dGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWlu dCAidGVtcG9yYWxfZmtfcGVyMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIi CitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAy LTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVy Ii4KKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2Vk LCBidXQgbm90ICd0aWwgY29tbWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3BlcjJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAg ICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKyAgREVMRVRFIEZST00gdGVtcG9yYWxf cGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9u IHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRl bXBvcmFsX2ZrX3BlcjJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycGVyIgorREVU QUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkp IGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnBlciIuCist LSBkZWxldGluZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVt cG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAn MjAxOC0wMS0wMycKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0 IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9h dCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1dIRVJFIGlkID0gJ1s1LDYpJzsK K0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRl cyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIiBvbiB0YWJs ZSAidGVtcG9yYWxfZmtfcGVyMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUs NiksIFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFi bGUgInRlbXBvcmFsX2ZrX3BlcjJwZXIiLgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgV0hF UkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQg ICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgWzUsNikgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0wMgorIFs1LDYpIHwgMjAxOC0w MS0wMyB8IDIwMTgtMDItMDEKKygyIHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBp ZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0KSB8IDIwMTgtMDEtMDUgfCAy MDE4LTAxLTEwIHwgWzUsNikKKygxIHJvdykKKworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGlu ZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzMsNCknOworREVMRVRFIEZST00gdGVt cG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAx JyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNl ZCBkZWxldGVzIFJFU1RSSUNUCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9m a19wZXIycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdO IEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cGVyCisgIE9OIERFTEVURSBSRVNUUklDVDsKK0VSUk9SOiAgdW5zdXBwb3J0ZWQgT04gREVMRVRF IGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQRVJJT0QKKy0tCistLSBw ZXIycGVyIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCistLQorLS0gVE9DOgorLS0gcmVm ZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCist LSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg TlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVuY2VkIGRl bGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0d28gc2Nh bGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xz KQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLSBy ZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQpCist LSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJl bmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1 YnNldCkKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFCistLQorVFJV TkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJw ZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwx MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENB U0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5 LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIw MjEtMDEtMDEgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzcsOCkKKyBbMTAw LDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpCisgWzEwMCwxMDEpIHwgMjAy MC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNyw4KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdb OCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9 ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVu dF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0K KyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs5LDEwKQorIFsyMDAsMjAx KSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLQorVFJVTkNBVEUgdGVtcG9yYWxf cGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBh cmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDIgcm93cykKKworLS0gbm9u LUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCB8 IHBhcmVudF9pZCAKKy0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCiso MCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSkn LCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEn LCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAx OC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5 KQorKDEgcm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwK Ky0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2 LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEp IHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEt MDEgfCAyMDIwLTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEg fCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxf cGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsx MDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0w MS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0w MSB8IAorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIw LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBd JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFs X3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBX SEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAx IHwgMjAyMC0wMS0wMSB8IAorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwg WzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg TlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsK Ky0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBX SEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8 IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAx IHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQorKDMgcm93 cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlk X2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5 LTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAKKyBbMTAw LDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IAorKDMgcm93cykKKworLS0gRksgYWNy b3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAy MC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAs MjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0w MSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJl bmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcp JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQgU0VUIERF RkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9m aywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICAgIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFs X3BlcgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9 ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19w ZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIw MTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwg MjAyMC0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAx IHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFs X3BlciBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8 IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0w MSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSkn KTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzIw MCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkKKyBbMjAwLDIwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9w ZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsK Ky0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBX SEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwg dmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8 IDIwMTktMDEtMDEgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAx IHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KQor KDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIg V0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEg fCAyMDE5LTAxLTAxIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEt MDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSww KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAs MjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwg Wy0xLDApCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIg cm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBz Y2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVy MnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQ REFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9y YWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAy MC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBw YXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEg fCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0w MSB8IDIwMjAtMDEtMDEgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDIwLTAx LTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9u LUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbNyw4KSAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFs3LDgpICAgICAgfCBb Niw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzcsOCkgICAgICB8 IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFs X3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0 IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJw ZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgWzksMTApICAg ICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAg ICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwg dGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlk MiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxV RVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2 LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9w ZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAg IGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9p ZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcp ICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYs NykgICAgICB8IFs2LDcpCisoMiByb3dzKQorCistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CisgaWQgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsIHwgcGFyZW50X2lkMSB8IHBhcmVu dF9pZDIgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisoMCByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zy b20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAw LDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDEg cm93KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBz Y2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVy MnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBV UERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcy MDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0w MSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAx LTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAx IHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQ TyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAgICAgICAgICAgIHwgCisoMyByb3dzKQor CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdb OSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIg Y29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwxMDEp IHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3Mp CisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisg WzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAgICAgICAgICAgIHwgCisoMyByb3dzKQor CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBp ZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAx IHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwg MjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxM IHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBl cjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcy MDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJl Y2F1c2UgeW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrMl9wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9m aywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdO IEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFsaWRfYXQpIE9O IFVQREFURSBTRVQgTlVMTDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIgcmVmZXJlbmNlZCBp biBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECistLSBvazoKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJf cGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAg ICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQor ICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAocGFy ZW50X2lkMSkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6 CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0w MSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAx LTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAt MDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBu b24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAw LDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3KQorKDMg cm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVu dF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIg V0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRf dGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAx OC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCAy MDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFy IGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr Ml9wZXIycGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDIgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBE Uk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBh cmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIK KyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdb Nyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5 LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIw MjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8 IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8g dXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdb Nyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Bl cjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDAp ICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0x LDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwg Wy0xLDApICAgICB8IFstMSwwKQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIw MjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQ REFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hF UkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0w MS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEpIHwgMjAy MC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBj b2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVyOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRl czoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAx LTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTkt MDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCist LSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsx MDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQor IFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWy0xLDApICAgICB8IFstMSww KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAw LDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwg dmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEp IHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzIwMCwy MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJv d3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdv IHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorVFJVTkNBVEUgdGVtcG9yYWxf cGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChp ZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2LDcp JywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7 CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBT RVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFs aWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKK0VSUk9SOiAgY29sdW1uICJ2YWxpZF9hdCIg cmVmZXJlbmNlZCBpbiBPTiBERUxFVEUgU0VUIGFjdGlvbiBjYW5ub3QgYmUgUEVSSU9ECistLSBv azoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFMVEVSIENPTFVNTiBwYXJl bnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9m aworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZB VUxUIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAx KSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJv d3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVS RSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t CisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBb Niw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWy0xLDApICAgICB8 IFs2LDcpCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s4LDkpJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBX SEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4 LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCist LQorLS0gdGVzdCBGT1JFSUdOIEtFWSwgcmFuZ2UgcmVmZXJlbmNlcyBQRVJJT0QKKy0tCistLSB0 ZXN0IHRhYmxlIHNldHVwCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlciBDQVNDQURFOworTk9USUNF OiAgZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgb24g dGFibGUgdGVtcG9yYWxfZmtfcGVyMnBlcgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlciAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX3BlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsKKyAgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKKy0tIENhbid0IGNyZWF0 ZSBhIEZLIHdpdGggYSBtaXNtYXRjaGVkIHJhbmdlIHR5cGUKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBpbnQ0cmFuZ2UsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIHZhbGlk X2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5n MnBlcl9mayIgY2Fubm90IGJlIGltcGxlbWVudGVkCitERVRBSUw6ICBLZXkgY29sdW1ucyAidmFs aWRfYXQiIG9mIHRoZSByZWZlcmVuY2luZyB0YWJsZSBhbmQgInZhbGlkX2F0IiBvZiB0aGUgcmVm ZXJlbmNlZCB0YWJsZSBhcmUgb2YgaW5jb21wYXRpYmxlIHR5cGVzOiBpbnQ0cmFuZ2UgYW5kIGRh dGVyYW5nZS4KKy0tIHdvcmtzOiBQRVJJT0QgZm9yIHJlZmVyZW5jZWQsIHJhbmdlIGZvciByZWZl cmVuY2luZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVtcG9yYWxfZmtfcm5n MnBlcgorICAgICAgICAgICBUYWJsZSAicHVibGljLnRlbXBvcmFsX2ZrX3JuZzJwZXIiCisgIENv bHVtbiAgIHwgICBUeXBlICAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBp ZCAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2F0 ICB8IGRhdGVyYW5nZSB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCisgcGFyZW50X2lkIHwgaW50 NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAgICAgfCAKK0luZGV4ZXM6CisgICAgInRlbXBvcmFs X2ZrX3JuZzJwZXJfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9ma19ybmcycGVyX2Zr IiBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyKGlkLCBQRVJJT0QgdmFsaWRfYXQpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtf cm5nMnBlcjsKKy0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJT0QgY29sdW1uczoKKy0tIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gUkVGRVJF TkNFUyBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2Zr X3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFy ZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9hdCkKKyk7CitF UlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2luZyB0YWJsZSBi dXQgbm90IHRoZSByZWZlcmVuY2VkIHRhYmxlCistLSAocGFyZW50X2lkLCB2YWxpZF9hdCkgUkVG RVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gYm90aCBzaG91bGQgc3BlY2lmeSBQRVJJT0Q6CitD UkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSBtdXN0IHVzZSBQRVJJT0Qgd2hlbiBy ZWZlcmVuY2luZyBhIHByaW1hcnkga2V5IHVzaW5nIFdJVEhPVVQgT1ZFUkxBUFMKKy0tIChwYXJl bnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorLS0gRk9S RUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCisp OworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJs ZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQorLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQp IFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lm eSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVu Y2VkIHRhYmxlIGJ1dCBub3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2Zr X3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFy ZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkKQorKTsKK0VSUk9SOiAgZm9y ZWlnbiBrZXkgdXNlcyBQRVJJT0Qgb24gdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGJ1dCBub3QgdGhl IHJlZmVyZW5jZWQgdGFibGUKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0Qg dmFsaWRfYXQpCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2Zr IEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlk LCBQRVJJT0QgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBv biB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQorLS0g d2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKKy0tIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVt cG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJhbmdl LAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJw ZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0RST1AgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnBlcjsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgW2ltcGxp Y2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JF SUdOIEtFWSAocGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOworRVJS T1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQg bm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQorLS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBs aWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJw ZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lk IGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lk KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgUEVSSU9EIGlkKQorKTsKK0VSUk9S OiAgZm9yZWlnbiBrZXkgcmVmZXJlbmNlZC1jb2x1bW5zIGxpc3QgbXVzdCBub3QgY29udGFpbiBk dXBsaWNhdGVzCistLSBUd28gc2NhbGFyIGNvbHVtbnMKK0RST1AgVEFCTEUgdGVtcG9yYWxfcGVy MiBDQVNDQURFOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRlbXBvcmFs X2ZrMl9wZXIycGVyX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrMl9wZXIycGVyCitDUkVBVEUgVEFC TEUgdGVtcG9yYWxfcGVyMiAoCisgIGlkMSBpbnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyMl9w ayBQUklNQVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOwor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2 YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQy IGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQ RVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwg UEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgICAgICAgICAg IFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmsyX3JuZzJwZXIiCisgICBDb2x1bW4gICB8ICAgVHlw ZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAgICAgfCBp bnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2F0ICAgfCBkYXRlcmFu Z2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHBhcmVudF9pZDEgfCBpbnQ0cmFuZ2UgfCAg ICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZDIgfCBpbnQ0cmFuZ2UgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorSW5kZXhlczoKKyAgICAidGVtcG9yYWxfZmsyX3JuZzJwZXJfcGsi IFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0ZvcmVpZ24ta2V5 IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJfcm5nMnBlcl9mayIgRk9SRUlHTiBLRVkg KHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIyKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisKK0RST1AgVEFCTEUgdGVtcG9y YWxfZmsyX3JuZzJwZXI7CistLQorLS0gdGVzdCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAor LS0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAor ICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJ T0QgdmFsaWRfYXQpOworLS0gVHdvIHNjYWxhciBjb2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX2ZrMl9ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2Us CisgIHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KTsKK1xkIHRlbXBvcmFsX2Zr Ml9ybmcycGVyCisgICAgICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmsyX3JuZzJwZXIi CisgICBDb2x1bW4gICB8ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVs dCAKKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tLQorIGlkICAgICAgICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAor IHZhbGlkX2F0ICAgfCBkYXRlcmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHBhcmVu dF9pZDEgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZDIg fCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorSW5kZXhlczoKKyAgICAidGVt cG9yYWxfZmsyX3JuZzJwZXJfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUykKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9mazJfcm5n MnBlcl9mayIgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxp ZF9hdCkgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUsIGFuZCB3cm9u ZyBjb2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmssCisgIEFMVEVSIENPTFVNTiB2YWxpZF9h dCBUWVBFIHRzcmFuZ2UgVVNJTkcgdHNyYW5nZShsb3dlcih2YWxpZF9hdCksIHVwcGVyKHZhbGlk X2F0KSk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKK0VSUk9SOiAgZm9yZWlnbiBr ZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIgY2Fubm90IGJlIGltcGxlbWVu dGVkCitERVRBSUw6ICBLZXkgY29sdW1ucyAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2luZyB0 YWJsZSBhbmQgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBhcmUgb2YgaW5jb21w YXRpYmxlIHR5cGVzOiB0c3JhbmdlIGFuZCBkYXRlcmFuZ2UuCitBTFRFUiBUQUJMRSB0ZW1wb3Jh bF9ma19ybmcycGVyCisgIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBUWVBFIGRhdGVyYW5nZSBVU0lO RyBkYXRlcmFuZ2UobG93ZXIodmFsaWRfYXQpOjpkYXRlLCB1cHBlcih2YWxpZF9hdCk6OmRhdGUp OworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyOworLS0gc2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNh dGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrMgorICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lkKQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAo aWQsIFBFUklPRCBpZCk7CitFUlJPUjogIGZvcmVpZ24ga2V5IHJlZmVyZW5jZWQtY29sdW1ucyBs aXN0IG11c3Qgbm90IGNvbnRhaW4gZHVwbGljYXRlcworLS0KKy0tIHRlc3Qgd2l0aCByb3dzIGFs cmVhZHkKKy0tCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyOworREVMRVRFIEZST00g dGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMn KSwKKyAgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKSwKKyAgKCdbMiwzKScs ICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKSwKKyAgKCdbMyw0KScsICcyMDE4LTAxLTAxJywg TlVMTCk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBl ciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJ1syMDE4LTAxLTAy LDIwMTgtMDItMDEpJywgJ1sxLDIpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVy CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkg KHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3JuZzJwZXJfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnWzIwMTgtMDEtMDIsMjAxOC0w NC0wMSknLCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFCTEUgdGVtcG9yYWxf Zmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXI7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRlbXBvcmFsX2Zr X3JuZzJwZXIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQpPShbMSwyKSwgWzIw MTgtMDEtMDIsMjAxOC0wNC0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJ0ZW1wb3JhbF9w ZXIiLgorLS0gb2theSBhZ2FpbjoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKy0tCistLSB0ZXN0IHBnX2dldF9jb25zdHJh aW50ZGVmCistLQorU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25z dHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfZmtfcm5nMnBlcl9mayc7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwZ19nZXRfY29uc3RyYWludGRlZiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQor IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIoaWQsIFBFUklPRCB2YWxpZF9hdCkKKygxIHJvdykKKworLS0KKy0tIHRlc3QgRksg cmVmZXJlbmNpbmcgaW5zZXJ0cworLS0KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwy MDE4LTAyLTAxKScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMykn LCAnWzIwMTgtMDEtMDIsMjAxOC0wNC0wMSknLCAnWzEsMiknKTsKK0VSUk9SOiAgaW5zZXJ0IG9y IHVwZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIgdmlvbGF0ZXMgZm9yZWlnbiBr ZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIKK0RFVEFJTDogIEtleSAocGFy ZW50X2lkLCB2YWxpZF9hdCk9KFsxLDIpLCBbMjAxOC0wMS0wMiwyMDE4LTA0LTAxKSkgaXMgbm90 IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCistLSBub3cgaXQgc2hvdWxkIHdvcms6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1sxLDIpJywgJzIwMTgtMDItMDMnLCAnMjAxOC0wMy0wMycpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy LDMpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDQtMDEpJywgJ1sxLDIpJyk7CistLQorLS0gdGVzdCBG SyByZWZlcmVuY2luZyB1cGRhdGVzCistLQorLS0gc2xpZGUgdGhlIGVkZ2UgYWNyb3NzIGEgcmVm ZXJlbmNlZCB0cmFuc2l0aW9uOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgU0VUIHZhbGlk X2F0ID0gJ1syMDE4LTAxLTAyLDIwMTgtMDItMjApJyBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBz aG91bGQgZmFpbDoKK1VQREFURSB0ZW1wb3JhbF9ma19ybmcycGVyIFNFVCB2YWxpZF9hdCA9ICdb MjAxOC0wMS0wMiwyMDE4LTA1LTAxKScgV0hFUkUgaWQgPSAnWzEsMiknOworRVJST1I6ICBpbnNl cnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIiB2aW9sYXRlcyBmb3Jl aWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIgorREVUQUlMOiAgS2V5 IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDUtMDEpKSBp cyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGVyIi4KK1VQREFURSB0ZW1wb3JhbF9m a19ybmcycGVyIFNFVCBwYXJlbnRfaWQgPSAnWzgsOSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKK0VS Uk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIgdmlv bGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIKK0RF VEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9KFs4LDkpLCBbMjAxOC0wMS0wMiwyMDE4 LTAyLTIwKSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInRlbXBvcmFsX3BlciIuCistLSBBTFRF UiBGSyBERUZFUlJBQkxFCitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEn LCAnMjAxOC0wMi0wMScpLAorICAgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAx Jyk7CisgIElOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMKKyAgICAoJ1szLDQpJywgJ1syMDE4LTAxLTA1LDIwMTgtMDEtMTApJywg J1s1LDYpJyk7CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgICBBTFRFUiBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxM WSBERUZFUlJFRDsKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYp JzsgLS1zaG91bGQgbm90IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBzaG91bGQgZmFpbCBoZXJlLgor RVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVz IGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxl ICJ0ZW1wb3JhbF9ma19ybmcycGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2 KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJs ZSAidGVtcG9yYWxfZmtfcm5nMnBlciIuCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgTk8gQUNUSU9OCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcy cGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisg IE9OIFVQREFURSBOTyBBQ1RJT047CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1 c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0w MS0wMScsICcyMDE4LTAyLTAxJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9t ID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScgV0hFUkUgaWQgPSAnWzUs NiknOworLS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJp YyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0w MS0wMScsICcyMDE4LTAyLTAxJyksCisgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAz LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZCkgVkFMVUVTCisgICgnWzMsNCknLCAnWzIwMTgtMDEtMDUsMjAxOC0wMS0xMCknLCAn WzUsNiknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMi0w MScsIHZhbGlkX3RpbCA9ICcyMDE2LTAzLTAxJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9mcm9tID0gJzIwMTgtMDItMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMSc7CistLSBB IFBLIHVwZGF0ZSBzbGlkaW5nIHRoZSBlZGdlIGJldHdlZW4gdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTCisgICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyksCisgICgnWzYsNykn LCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19y bmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzQsNSknLCAnWzIw MTgtMDEtMTUsMjAxOC0wMi0xNSknLCAnWzYsNyknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIKK1NF VCB2YWxpZF9mcm9tID0gQ0FTRSBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgVEhFTiAn MjAxOC0wMS0wMScKKyAgICAgICAgICAgICAgICAgICAgICBXSEVOIHZhbGlkX2Zyb20gPSAnMjAx OC0wMi0wMScgVEhFTiAnMjAxOC0wMS0wNScgRU5EOjpkYXRlLAorICAgIHZhbGlkX3RpbCA9ICBD QVNFIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBUSEVOICcyMDE4LTAxLTA1JworICAg ICAgICAgICAgICAgICAgICAgIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBUSEVOICcy MDE4LTAzLTAxJyBFTkQ6OmRhdGUKK1dIRVJFIGlkID0gJ1s2LDcpJzsKKy0tIGEgUEsgdXBkYXRl IHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBidXQgc3RpbGwgdmFsaWQ6CistLSBUaGVy ZSBhcmUgdHdvIHJlZmVyZW5jZXM6IG9uZSBmdWxmaWxsZWQgYnkgdGhlIGZpcnN0IHBrIHJvdywK Ky0tIHRoZSBvdGhlciBmdWxmaWxsZWQgYnkgYm90aCBwayByb3dzIGNvbWJpbmVkLgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAg KCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDMtMDEnKSwKKyAgKCdbMSwyKScsICcyMDE4 LTAzLTAxJywgJzIwMTgtMDYtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0x NSwyMDE4LTAyLTAxKScsICdbMSwyKScpLAorICAoJ1syLDMpJywgJ1syMDE4LTAxLTE1LDIwMTgt MDUtMDEpJywgJ1sxLDIpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0g JzIwMTgtMDEtMTUnLCB2YWxpZF90aWwgPSAnMjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgZ3Jv d2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBpcyBmaW5lOgorVVBEQVRFIHRlbXBvcmFsX3BlciBT RVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitX SEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTI1Jzo6ZGF0ZTsKKy0t IGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBhbmQgY2hhbmdpbmcg dGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9wZXIg U0VUIGlkID0gJ1syLDMpJywgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0g JzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAx LTE1Jzo6ZGF0ZTsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxf cGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19ybmcycGVy X2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJTDogIEtleSAoaWQsIHZh bGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpKSBpcyBzdGlsbCByZWZlcmVu Y2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorLS0gYSBQSyB1cGRhdGUgY2hh bmdpbmcgb25seSB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgaWQgPSAnWzIsMyknCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlk X2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0 YWJsZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1w b3JhbF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJ TDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpKSBp cyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorLS0g YSBQSyB1cGRhdGUgdGhhdCBsb3NlcyB0aW1lIGZyb20gYm90aCBlbmRzLCBidXQgaXMgc3RpbGwg dmFsaWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUworICAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMy0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUworICAoJ1s1LDYpJywgJ1syMDE4LTAxLTE1LDIwMTgtMDItMDEpJywgJ1syLDMpJyk7CitV UERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90 aWwgPSAnMjAxOC0wMi0xNScKK1dIRVJFIGlkID0gJ1syLDMpJzsKKy0tIGEgUEsgdXBkYXRlIHRo YXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkOgorVVBEQVRFIHRlbXBvcmFsX3Bl ciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEn CitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZh bGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJs ZSAidGVtcG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9ma19ybmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBz dGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorLS0gYSBQ SyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3Qg J3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgor ICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIERFRkVSUkFC TEUgSU5JVElBTExZIERFRkVSUkVEOworICBVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9m cm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKKyAgV0hFUkUgaWQg PSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAy LTAxJyk7CitDT01NSVQ7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBv cmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5n MnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlk LCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVm ZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGNoYW5naW5nIHRo ZSBzY2FsYXIgcGFydCBmYWlsczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgp JworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2 YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFi bGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9y YWxfZmtfcm5nMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6 ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMg c3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGNo YW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVtcG9yYWxfcGVy CitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0w MycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGNoYW5naW5nIGp1 c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitTRVQgaWQgPSAnWzcsOCkn CitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUg InRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxf Zmtfcm5nMnBlcl9mayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBL ZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMywyMDE4LTAyLTAxKSkgaXMgc3Rp bGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19ybmcycGVyIi4KK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICAKKy0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFs1LDYpIHwgMjAxNi0wMi0wMSB8IDIwMTYt MDMtMDEKKyBbNSw2KSB8IDIwMTgtMDEtMDEgfCAyMDE4LTAxLTAyCisgWzUsNikgfCAyMDE4LTAx LTAzIHwgMjAxOC0wMi0wMQorIFs3LDgpIHwgMjAxOC0wMS0wMiB8IDIwMTgtMDEtMDMKKyg0IHJv d3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCBpbiAoJ1sz LDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMyw0KSB8IFsyMDE4LTAxLTA1LDIwMTgtMDEtMTApIHwgWzUsNikKKygxIHJv dykKKworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1l IFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hF UkUgaWQgPSAnWzMsNCknOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcy MDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCitXSEVSRSBpZCA9ICdbNSw2KScg QU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNUUklDVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Blciwg dGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsK KyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BlcgorICBPTiBVUERBVEUgUkVTVFJJQ1Q7CitFUlJPUjogIHVuc3VwcG9ydGVk IE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNpbmcgUEVSSU9E CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgTk8gQUNUSU9OCistLQorVFJVTkNB VEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXI7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51 bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcy MDE4LTAyLTAxJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNikn OworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVtZXJpYyBp ZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScs ICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywg JzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxp ZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMyw0KScsICdbMjAxOC0wMS0wNSwyMDE4LTAxLTEw KScsICdbNSw2KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYp JyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDMt MDEnOworLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5j ZWQ6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CitFUlJP UjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3BlciIgdmlvbGF0ZXMgZm9y ZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcm5nMnBlcl9mayIgb24gdGFibGUgInRl bXBvcmFsX2ZrX3JuZzJwZXIiCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBb MjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0 ZW1wb3JhbF9ma19ybmcycGVyIi4KKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBi b3RoIGFyZSByZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29tbWl0OgorQkVHSU47CisgIEFMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3JuZzJwZXJfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKyAgREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBk YXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworRVJST1I6ICB1 cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9wZXIiIHZpb2xhdGVzIGZvcmVpZ24g a2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsiIG9uIHRhYmxlICJ0ZW1wb3Jh bF9ma19ybmcycGVyIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQpPShbNSw2KSwgWzIwMTgt MDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJvbSB0YWJsZSAidGVtcG9y YWxfZmtfcm5nMnBlciIuCistLSBkZWxldGluZyBhbiB1bnJlZmVyZW5jZWQgcGFydCBpcyBva2F5 OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGRl bGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyCitGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1dI RVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVt cG9yYWxfcGVyIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19y bmcycGVyX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcm5nMnBlciIKK0RFVEFJTDogIEtleSAo aWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAzLDIwMTgtMDItMDEpKSBpcyBzdGlsbCBy ZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3JuZzJwZXIiLgorU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgaWQgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIAorLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzUsNikgfCAyMDE4LTAxLTAxIHwgMjAxOC0wMS0w MgorIFs1LDYpIHwgMjAxOC0wMS0wMyB8IDIwMTgtMDItMDEKKygyIHJvd3MpCisKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICBpZCAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRf aWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0 KSB8IFsyMDE4LTAxLTA1LDIwMTgtMDEtMTApIHwgWzUsNikKKygxIHJvdykKKworLS0gdGhlbiBk ZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIGRlbGV0ZSBzdWNj ZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzMsNCkn OworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRf ZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworLS0KKy0t IHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFJFU1RSSUNUCistLQorVFJVTkNBVEUgdGVtcG9y YWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJF RkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIERFTEVURSBSRVNUUklDVDsKK0VSUk9SOiAgdW5z dXBwb3J0ZWQgT04gREVMRVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2lu ZyBQRVJJT0QKKy0tCistLSBybmcycGVyIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCist LQorLS0gVE9DOgorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQg ZGVsZXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxU CistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRl cyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FE RSAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28g c2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIg Y29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBT RVQgTlVMTCBzdWJzZXQpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBz Y2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxh ciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNv bHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRl cyBDQVNDQURFCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVy OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknKTsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFU RSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxf cGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9p ZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBb MTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwg WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBE QVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8IFs3LDgpCisg WzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4KQorIFsxMDAsMTAxKSB8 IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzcsOCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9z cyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitV UERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBB TkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWzksMTApCisgWzIwMCwyMDEpIHwgWzIwMjAt MDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBv cmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3 KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEt MDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBl ciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0w MS0wMSkgfCBbNiw3KQorKDIgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworIGlkIHwgdmFsaWRfYXQgfCBwYXJlbnRfaWQgCistLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0t LS0KKygwIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0w MS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAx LDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBw YXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDEgcm93 KQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tCitUUlVO Q0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBl ciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5n MnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maywKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9O IERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90 aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0g J1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2 YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEt MDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsx MDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzYsNykKKygzIHJvd3MpCisKKy0t IG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCknIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAg ICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwy MDE5LTAxLTAxKSB8IAorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisg WzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAKKygzIHJvd3MpCisKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkp Jyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4 LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lk IAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsy MDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgCisgWzIwMCwyMDEpIHwgWzIwMjAt MDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVm ZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYs NyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxf cGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgt MDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAt MDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQor KDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIg V0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAx LDIwMTktMDEtMDEpIHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAK KyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IAorKDMgcm93cykKKworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50 X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgs OSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8IAorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEt MDEtMDEpIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBk YXRlcyBTRVQgREVGQVVMVAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtf cm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJw ZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZCBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERS T1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNF VCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNp ZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlk X2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkg fCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApCisg WzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KQorKDMgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScg V0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8 ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAx LDIwMTktMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0w MSkgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFstMSww KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5 LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBb LTEsMCkKKyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiBy b3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwt MV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVu dF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2 LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0w MS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4 LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwyMDIw LTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5n MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBp ZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAx OC0wMS0wMSwyMDE5LTAxLTAxKSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIw MjAtMDEtMDEpIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkg fCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn MjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcy cGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4 LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIg V0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAg ICAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkK KyBbMjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpCisoMiByb3dzKQor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBj b2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0w MS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcy cGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50 X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcGVyMgorICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdb Nyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lk MiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykg ICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbNyw4 KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2 LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUg dGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAg ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgt MDEtMDEsMjAxOS0wMS0wMSkgfCBbNyw4KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAx OS0wMS0wMSwyMDIwLTAxLTAxKSB8IFs3LDgpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsy MDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzcsOCkgICAgICB8IFs2LDcpCisoMyByb3dzKQorCist LSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl cjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4 LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn WzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxV RVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgs OSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFy ZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKSB8IFs5LDEwKSAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RS VU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYs NyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00g dGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBU TyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwg cGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEp IHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0w MSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygyIHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgor REVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2F0IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorKDAgcm93cykKKwor LS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9w ZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdb OCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg J1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFM VUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4 LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5E IHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf ZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFy ZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwg WzgsOSkgICAgICB8IFs4LDkpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg dXBkYXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFs X3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAo aWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNykn LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdb MTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJw ZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZh bGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQg TlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQ REFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwg WzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCBbMjAxOS0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCBb MjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKwor LS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgp JyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBl ciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCAgICAgICAgICAg IHwgCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwg CisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAgICAgIHwgCiso MyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAn WzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzksMTAp JyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAg ICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBb MjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkgfCBbMjAy MC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMp CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAx KScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwyMDIx LTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9uLUZQTyBkZWxl dGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCBbMjAxOC0w MS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0w MSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBbMTAwLDEwMSkgfCBbMjAyMC0wMS0wMSwy MDIxLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28g cmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0w MScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAx LTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChp ZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZS T00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAx OS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJF IGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMjAwLDIwMSkgfCBbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCAKKyBb MjAwLDIwMSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs4LDkpICAgICAgfCBbOCw5KQor KDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0 d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9w ZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlk MSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEw MCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7Cist LSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZh bGlkX2F0KSBPTiBVUERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJl ZmVyZW5jZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcy cGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VU IE5VTEwgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0 ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8 IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEp IHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEw MSkgfCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93 cykKKworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAg ICAgICB2YWxpZF9hdCAgICAgICAgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0K KyBbMTAwLDEwMSkgfCBbMjAxOC0wMS0wMSwyMDE5LTAxLTAxKSB8ICAgICAgICAgICAgfCBbNiw3 KQorIFsxMDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgICAgICAgICAgICB8IFs2 LDcpCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCAgICAgICAgICAgIHwg WzYsNykKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVS RSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8ICAgICAgICB2YWxpZF9hdCAgICAgICAg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCBbMjAxOC0w MS0wMSwyMDIwLTAxLTAxKSB8ICAgICAgICAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8IFsyMDIw LTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQorCistLQor LS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29s cykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYs NyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIEFMVEVS IENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgQUxURVIgQ09MVU1O IHBhcmVudF9pZDIgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcy cGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VU IERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4 KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIFsxMDAsMTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAg ICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkg ICAgIHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3 KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRl bXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZh bGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsx MDAsMTAxKSB8IFsyMDE5LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8IFstMSwwKQor IFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWy0xLDApICAgICB8IFstMSww KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEp JywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5 LDEwKScsIGlkMiA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAgICB8 IFstMSwwKQorIFsyMDAsMjAxKSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkgICAg ICB8IFs4LDkpCisoMiByb3dzKQorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMg U0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIy LCB0ZW1wb3JhbF9mazJfcm5nMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwg aWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScs IG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZh bGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIw MTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBv biBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlk X2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAx KSB8IFsyMDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwx MDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzEw MCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKygz IHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBX SEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBX SEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAg fCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAxOS0wMS0wMSkgfCBbLTEsMCkgICAgIHwg Wy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAg IHwgWy0xLDApCisgWzEwMCwxMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbLTEsMCkg ICAgIHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93 czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAx LTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRl OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQg ICAgICAgICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwg WzIwMTgtMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEp IHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3Mp CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNj YWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcGVy MiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEs IGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2LDcpJywg bnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVz ZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmsyX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwt MV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUg U0VUIERFRkFVTFQ7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQgaW4gT04g REVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVM VCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtF WSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAocGFyZW50X2lkMSkg T04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxF VEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlk LCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCAgICAgICAgdmFsaWRfYXQgICAgICAgICB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgWzIwMTgtMDEtMDEsMjAx OS0wMS0wMSkgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCBbMjAxOS0wMS0wMSwy MDIwLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IFsyMDIwLTAxLTAx LDIwMjEtMDEtMDEpIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBP IHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgICAgICAgIHZhbGlkX2F0ICAg ICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IFsy MDE4LTAxLTAxLDIwMTktMDEtMDEpIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwg WzIwMTktMDEtMDEsMjAyMC0wMS0wMSkgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkg fCBbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKSB8IFstMSwwKSAgICAgfCBbNiw3KQorKDMgcm93cykK KworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0x LC0xXScsICdbOCw5KScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Ju ZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIw MCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0 IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJw ZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQg ICAgIHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLQorIFsyMDAsMjAxKSB8IFsyMDE4LTAxLTAxLDIwMjAtMDEtMDEpIHwgWy0xLDApICAg ICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSkgfCBbOCw5KSAg ICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCBQRVJJT0Qg cmVmZXJlbmNlcyByYW5nZQorLS0KKy0tIHRlc3QgdGFibGUgc2V0dXAKK0RST1AgVEFCTEUgdGVt cG9yYWxfcm5nIENBU0NBREU7CitOT1RJQ0U6ICBkcm9wIGNhc2NhZGVzIHRvIGNvbnN0cmFpbnQg dGVtcG9yYWxfZmtfcm5nMnJuZ19mayBvbiB0YWJsZSB0ZW1wb3JhbF9ma19ybmcycm5nCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfcm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRl cmFuZ2UKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ybmcKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfcm5nX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ Uyk7CistLSBDYW4ndCBjcmVhdGUgYSBGSyB3aXRoIGEgbWlzbWF0Y2hlZCByYW5nZSB0eXBlCitD UkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfZnJvbSBpbnQsCisgIHZhbGlkX3RpbCBpbnQsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisg IFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhP VVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlH TiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9y YWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK0VSUk9SOiAgZm9yZWlnbiBrZXkgY29u c3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIgY2Fubm90IGJlIGltcGxlbWVudGVkCitE RVRBSUw6ICBLZXkgY29sdW1ucyAidmFsaWRfYXQiIG9mIHRoZSByZWZlcmVuY2luZyB0YWJsZSBh bmQgInZhbGlkX2F0IiBvZiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBhcmUgb2YgaW5jb21wYXRpYmxl IHR5cGVzOiBpbnQ0cmFuZ2UgYW5kIGRhdGVyYW5nZS4KKy0tIHdvcmtzOiByYW5nZSBmb3IgcmVm ZXJlbmNlZCwgUEVSSU9EIGZvciByZWZlcmVuY2luZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2Zr X3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRf dGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQg KHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZh bGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICAgICAgICAgVGFibGUgInB1 YmxpYy50ZW1wb3JhbF9ma19wZXIycm5nIgorICAgQ29sdW1uICAgfCAgIFR5cGUgICAgfCBDb2xs YXRpb24gfCBOdWxsYWJsZSB8IERlZmF1bHQgCistLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgICAgIHwgaW50NHJhbmdlIHwg ICAgICAgICAgIHwgbm90IG51bGwgfCAKKyB2YWxpZF9mcm9tIHwgZGF0ZSAgICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgfCAKKyB2YWxpZF90aWwgIHwgZGF0ZSAgICAgIHwgICAgICAgICAgIHwg ICAgICAgICAgfCAKKyBwYXJlbnRfaWQgIHwgaW50NHJhbmdlIHwgICAgICAgICAgIHwgICAgICAg ICAgfCAKK1BlcmlvZHM6CisgICAgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkKK0lu ZGV4ZXM6CisgICAgInRlbXBvcmFsX2ZrX3BlcjJybmdfcGsiIFBSSU1BUlkgS0VZIChpZCwgdmFs aWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3Jh bF9ma19wZXIycm5nX3ZhbGlkX2F0X2NoZWNrIiBDSEVDSyAodmFsaWRfZnJvbSA8IHZhbGlkX3Rp bCkKK0ZvcmVpZ24ta2V5IGNvbnN0cmFpbnRzOgorICAgICJ0ZW1wb3JhbF9ma19wZXIycm5nX2Zr IiBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVt cG9yYWxfcm5nKGlkLCBQRVJJT0QgdmFsaWRfYXQpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnJuZzsKKy0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJT0QgY29sdW1uczoKKy0tIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyAoaWQsIHZhbGlkX2F0KQorLS0gUkVGRVJF TkNFUyBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2Zr X3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRf dGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQg KHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVS SU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQp CispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNpbmcg dGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNlZCB0YWJsZQorLS0gKHBhcmVudF9pZCwgdmFsaWRf YXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIGJvdGggc2hvdWxkIHNwZWNpZnkgUEVS SU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2Us CisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0 cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisg IENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf ZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkKKyk7CitFUlJPUjogIGZvcmVpZ24ga2V5IG11c3QgdXNl IFBFUklPRCB3aGVuIHJlZmVyZW5jaW5nIGEgcHJpbWFyeSBrZXkgdXNpbmcgV0lUSE9VVCBPVkVS TEFQUworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFs aWRfYXQpCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRF IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zy b20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBF UklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQg T1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlk LCBQRVJJT0QgdmFsaWRfYXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBv biB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQorLS0g KHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorLS0gRk9SRUlHTiBL RVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2 YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCispOworRVJST1I6ICBmb3JlaWduIGtl eSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVu Y2luZyB0YWJsZQorLS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChp ZCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAor ICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJh bmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2Zr IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3JuZyAoaWQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBv biB0aGUgcmVmZXJlbmNpbmcgdGFibGUgYnV0IG5vdCB0aGUgcmVmZXJlbmNlZCB0YWJsZQorLS0g KHBhcmVudF9pZCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRh dGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0Qg Rk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChw YXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRf YXQpCispOworRVJST1I6ICBmb3JlaWduIGtleSB1c2VzIFBFUklPRCBvbiB0aGUgcmVmZXJlbmNl ZCB0YWJsZSBidXQgbm90IHRoZSByZWZlcmVuY2luZyB0YWJsZQorLS0gd2l0aCBpbmZlcnJlZCBQ SyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJu ZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFs aWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyk7CitEUk9QIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmc7CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NS RUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxp ZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAor ICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRI T1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyk7CitFUlJP UjogIGZvcmVpZ24ga2V5IHVzZXMgUEVSSU9EIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlIGJ1dCBu b3QgdGhlIHJlZmVyZW5jaW5nIHRhYmxlCistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1cGxp Y2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJu ZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFy ZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIGlkKQorKTsK K0VSUk9SOiAgZm9yZWlnbiBrZXkgcmVmZXJlbmNlZC1jb2x1bW5zIGxpc3QgbXVzdCBub3QgY29u dGFpbiBkdXBsaWNhdGVzCistLSBUd28gc2NhbGFyIGNvbHVtbnMKK0RST1AgVEFCTEUgdGVtcG9y YWxfcm5nMiBDQVNDQURFOworTk9USUNFOiAgZHJvcCBjYXNjYWRlcyB0byBjb25zdHJhaW50IHRl bXBvcmFsX2ZrMl9ybmcycm5nX2ZrIG9uIHRhYmxlIHRlbXBvcmFsX2ZrMl9ybmcycm5nCitDUkVB VEUgVEFCTEUgdGVtcG9yYWxfcm5nMiAoCisgIGlkMSBpbnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFu Z2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmcyX3Br IFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitD UkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZDEgaW50NHJhbmdl LAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19wayBQ UklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRf aWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyIChpZDEs IGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgICAg ICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmsyX3BlcjJybmciCisgICBDb2x1bW4gICB8 ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAg ICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBk YXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZDEgfCBpbnQ0cmFuZ2UgfCAg ICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZDIgfCBpbnQ0cmFuZ2UgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFs aWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWxfZmsyX3BlcjJybmdfcGsiIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgor ICAgICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zy b20gPCB2YWxpZF90aWwpCitGb3JlaWduLWtleSBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxf ZmsyX3BlcjJybmdfZmsiIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMihpZDEsIGlkMiwgUEVSSU9EIHZh bGlkX2F0KQorCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworLS0KKy0tIHRlc3Qg QUxURVIgVEFCTEUgQUREIENPTlNUUkFJTlQKKy0tCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQor ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCk7CistLSBUd28g c2NhbGFyIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBh cmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9mazJfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxB UFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgQUREIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBh cmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyIChp ZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KTsKK1xkIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgICAg ICAgICAgIFRhYmxlICJwdWJsaWMudGVtcG9yYWxfZmsyX3BlcjJybmciCisgICBDb2x1bW4gICB8 ICAgVHlwZSAgICB8IENvbGxhdGlvbiB8IE51bGxhYmxlIHwgRGVmYXVsdCAKKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tLQorIGlkICAgICAg ICAgfCBpbnQ0cmFuZ2UgfCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorIHZhbGlkX2Zyb20gfCBk YXRlICAgICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHZhbGlkX3RpbCAgfCBkYXRlICAg ICAgfCAgICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZDEgfCBpbnQ0cmFuZ2UgfCAg ICAgICAgICAgfCAgICAgICAgICB8IAorIHBhcmVudF9pZDIgfCBpbnQ0cmFuZ2UgfCAgICAgICAg ICAgfCAgICAgICAgICB8IAorUGVyaW9kczoKKyAgICB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFs aWRfdGlsKQorSW5kZXhlczoKKyAgICAidGVtcG9yYWxfZmsyX3BlcjJybmdfcGsiIFBSSU1BUlkg S0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKK0NoZWNrIGNvbnN0cmFpbnRzOgor ICAgICJ0ZW1wb3JhbF9mazJfcGVyMnJuZ192YWxpZF9hdF9jaGVjayIgQ0hFQ0sgKHZhbGlkX2Zy b20gPCB2YWxpZF90aWwpCitGb3JlaWduLWtleSBjb25zdHJhaW50czoKKyAgICAidGVtcG9yYWxf ZmsyX3BlcjJybmdfZmsiIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJ T0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMihpZDEsIGlkMiwgUEVSSU9EIHZh bGlkX2F0KQorCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlLCBh bmQgd3JvbmcgY29sdW1uIHR5cGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisg IERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrLAorICBEUk9QIFBFUklPRCBG T1IgdmFsaWRfYXQsCisgIEFMVEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgdGltZXN0YW1wLAor ICBBTFRFUiBDT0xVTU4gdmFsaWRfdGlsIFRZUEUgdGltZXN0YW1wLAorICBBREQgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcm5nOworRVJST1I6ICBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrIiBjYW5ub3QgYmUgaW1wbGVtZW50ZWQKK0RFVEFJTDogIEtleSBjb2x1bW5zICJ2 YWxpZF9hdCIgb2YgdGhlIHJlZmVyZW5jaW5nIHRhYmxlIGFuZCAidmFsaWRfYXQiIG9mIHRoZSBy ZWZlcmVuY2VkIHRhYmxlIGFyZSBvZiBpbmNvbXBhdGlibGUgdHlwZXM6IHRzcmFuZ2UgYW5kIGRh dGVyYW5nZS4KK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBQRVJJT0Qg Rk9SIHZhbGlkX2F0LAorICBBTFRFUiBDT0xVTU4gdmFsaWRfZnJvbSBUWVBFIGRhdGUsCisgIEFM VEVSIENPTFVNTiB2YWxpZF90aWwgVFlQRSBkYXRlLAorICBBREQgUEVSSU9EIEZPUiB2YWxpZF9h dCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJl ZmVyZW5jZWQgdGFibGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzsKKy0tIHNob3Vs ZCBmYWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnJuZ19mazIKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgaWQpOworRVJST1I6ICBmb3JlaWdu IGtleSByZWZlcmVuY2VkLWNvbHVtbnMgbGlzdCBtdXN0IG5vdCBjb250YWluIGR1cGxpY2F0ZXMK Ky0tCistLSB0ZXN0IHdpdGggcm93cyBhbHJlYWR5CistLQorREVMRVRFIEZST00gdGVtcG9yYWxf ZmtfcGVyMnJuZzsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwy MDE4LTAyLTAzKScpLAorICAoJ1sxLDIpJywgJ1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJyksCisg ICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMS0wNSknKSwKKyAgKCdbMyw0KScsICdbMjAx OC0wMS0wMSwpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDEnLCAnWzEsMiknKTsKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcm5nOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBE Uk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mazsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CistLSBz aG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOworRVJST1I6ICBpbnNl cnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIiB2aW9sYXRlcyBmb3Jl aWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIgorREVUQUlMOiAgS2V5 IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDQtMDEpKSBp cyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcm5nIi4KKy0tIG9rYXkgYWdhaW46CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtf cGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJ R04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9ybmc7CistLQorLS0gdGVzdCBwZ19nZXRfY29uc3RyYWludGRlZgorLS0KK1NFTEVDVCBwZ19n ZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0g J3RlbXBvcmFsX2ZrX3BlcjJybmdfZmsnOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGdfZ2V0X2NvbnN0cmFpbnRkZWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nKGlkLCBQRVJJT0QgdmFs aWRfYXQpCisoMSByb3cpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIGluc2VydHMKKy0t CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0w MScsICdbMSwyKScpOworLS0gc2hvdWxkIGZhaWw6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19w ZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sy LDMpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wNC0wMScsICdbMSwyKScpOworRVJST1I6ICBpbnNl cnQgb3IgdXBkYXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIiB2aW9sYXRlcyBmb3Jl aWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIgorREVUQUlMOiAgS2V5 IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAyLDIwMTgtMDQtMDEpKSBp cyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcm5nIi4KKy0tIG5vdyBpdCBzaG91bGQg d29yazoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb MSwyKScsICdbMjAxOC0wMi0wMywyMDE4LTAzLTAzKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCistLSBzbGlkZSB0aGUgZWRnZSBhY3Jvc3Mg YSByZWZlcmVuY2VkIHRyYW5zaXRpb246CitVUERBVEUgdGVtcG9yYWxfZmtfcGVyMnJuZyBTRVQg dmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIwMTgtMDItMjAnIFdIRVJF IGlkID0gJ1sxLDIpJzsKKy0tIHNob3VsZCBmYWlsOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJy bmcgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTAx JyBXSEVSRSBpZCA9ICdbMSwyKSc7CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUg InRlbXBvcmFsX2ZrX3BlcjJybmciIHZpb2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRl bXBvcmFsX2ZrX3BlcjJybmdfZmsiCitERVRBSUw6ICBLZXkgKHBhcmVudF9pZCwgdmFsaWRfYXQp PShbMSwyKSwgWzIwMTgtMDEtMDIsMjAxOC0wNS0wMSkpIGlzIG5vdCBwcmVzZW50IGluIHRhYmxl ICJ0ZW1wb3JhbF9ybmciLgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJybmcgU0VUIHBhcmVudF9p ZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAnWzEsMiknOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRl IG9uIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25z dHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIgorREVUQUlMOiAgS2V5IChwYXJlbnRfaWQs IHZhbGlkX2F0KT0oWzgsOSksIFsyMDE4LTAxLTAyLDIwMTgtMDItMjApKSBpcyBub3QgcHJlc2Vu dCBpbiB0YWJsZSAidGVtcG9yYWxfcm5nIi4KKy0tIEFMVEVSIEZLIERFRkVSUkFCTEUKK0JFR0lO OworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICAg KCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScpLAorICAgICgnWzUsNiknLCAnWzIw MTgtMDItMDEsMjAxOC0wMy0wMSknKTsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJu ZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgICAoJ1sz LDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdbNSw2KScpOworICBBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycm5nCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisgIERFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7IC0tc2hvdWxkIG5vdCBmYWlsIHll dC4KK0NPTU1JVDsgLS0gc2hvdWxkIGZhaWwgaGVyZS4KK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0 ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50 ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIK K0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDIt MDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmci LgorLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIE5PIEFDVElPTgorLS0KK1RSVU5D QVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlk X2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICBPTiBVUERBVEUgTk8gQUNUSU9OOwor LS0gYSBQSyB1cGRhdGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlzbid0 IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFM VUVTICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKTsKK1VQREFURSB0ZW1wb3Jh bF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE2LTAxLTAxLDIwMTYtMDItMDEpJyBXSEVSRSBpZCA9 ICdbNSw2KSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBu dW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1s1LDYpJywgJ1syMDE4LTAxLTAxLDIw MTgtMDItMDEpJyksCisgICgnWzUsNiknLCAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSknKTsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTCisgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEw JywgJ1s1LDYpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxNi0w Mi0wMSwyMDE2LTAzLTAxKScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIw MTgtMDItMDEsMjAxOC0wMy0wMSknOworLS0gQSBQSyB1cGRhdGUgc2xpZGluZyB0aGUgZWRnZSBi ZXR3ZWVuIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkn KSwKKyAgKCdbNiw3KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk KSBWQUxVRVMKKyAgKCdbNCw1KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnLCAnWzYsNykn KTsKK1VQREFURSB0ZW1wb3JhbF9ybmcKK1NFVCB2YWxpZF9hdCA9IENBU0UgV0hFTiBsb3dlcih2 YWxpZF9hdCkgPSAnMjAxOC0wMS0wMScgVEhFTiBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAx OC0wMS0wNScpCisgICAgICAgICAgICAgICAgICAgIFdIRU4gbG93ZXIodmFsaWRfYXQpID0gJzIw MTgtMDItMDEnIFRIRU4gZGF0ZXJhbmdlKCcyMDE4LTAxLTA1JywgJzIwMTgtMDMtMDEnKSBFTkQK K1dIRVJFIGlkID0gJ1s2LDcpJzsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJl bmNlZCByYW5nZSBidXQgc3RpbGwgdmFsaWQ6CistLSBUaGVyZSBhcmUgdHdvIHJlZmVyZW5jZXM6 IG9uZSBmdWxmaWxsZWQgYnkgdGhlIGZpcnN0IHBrIHJvdywKKy0tIHRoZSBvdGhlciBmdWxmaWxs ZWQgYnkgYm90aCBwayByb3dzIGNvbWJpbmVkLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1sxLDIpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDMtMDEp JyksCisgICgnWzEsMiknLCAnWzIwMTgtMDMtMDEsMjAxOC0wNi0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywgJ1sxLDIp JyksCisgICgnWzIsMyknLCAnMjAxOC0wMS0xNScsICcyMDE4LTA1LTAxJywgJ1sxLDIpJyk7CitV UERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0xNSwyMDE4LTAzLTAx KScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRl OworLS0gYSBQSyB1cGRhdGUgZ3Jvd2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBpcyBmaW5lOgor VVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMy0w MSknCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTI1Jzo6ZGF0 ZTsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBhbmQgY2hh bmdpbmcgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFURSB0ZW1wb3Jh bF9ybmcgU0VUIGlkID0gJ1syLDMpJywgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMTUsMjAxOC0wMy0w MSknCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0 ZTsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9s YXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0 YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0o WzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20g dGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gYSBQSyB1cGRhdGUgY2hhbmdpbmcgb25s eSB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFsX3Ju ZyBTRVQgaWQgPSAnWzIsMyknCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcy MDE4LTAxLTE1Jzo6ZGF0ZTsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJsZSAidGVt cG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3JhbF9ma19w ZXIycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDogIEtleSAo aWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDE4LTAxLTAxLDIwMTgtMDMtMDEpKSBpcyBzdGlsbCBy ZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gYSBQSyB1cGRh dGUgdGhhdCBsb3NlcyB0aW1lIGZyb20gYm90aCBlbmRzLCBidXQgaXMgc3RpbGwgdmFsaWQ6CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzIsMykn LCAnWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3Bl cjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTCisgICgn WzUsNiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywgJ1syLDMpJyk7CitVUERBVEUgdGVt cG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0xNSwyMDE4LTAyLTE1KScKK1dIRVJF IGlkID0gJ1syLDMpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFy ZSByZWZlcmVuY2VkOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYt MDEtMDEsMjAxNi0wMi0wMSknCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1sy MDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0ZSBvbiB0YWJs ZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50ICJ0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIKK0RFVEFJTDog IEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAxLDIwMTgtMDItMDEpKSBpcyBz dGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciLgorLS0gYSBQ SyB1cGRhdGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3Qg J3RpbCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZwor ICAgIEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFC TEUgSU5JVElBTExZIERFRkVSUkVEOworICBVUERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9h dCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScKKyAgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2 YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4LTAyLTAxJyk7CitDT01NSVQ7 CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0 ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIgb24gdGFi bGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1 LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRh YmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tIGNoYW5naW5nIHRoZSBzY2FsYXIgcGFydCBm YWlsczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAn WzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7CitFUlJPUjog IHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWln biBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIgb24gdGFibGUgInRlbXBv cmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAx OC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1w b3JhbF9ma19wZXIycm5nIi4KKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9r YXk6CitVUERBVEUgdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcy MDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0g J1s1LDYpJzsKKy0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFs X3JuZworRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgt MDEtMTAnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitFUlJPUjogIHVw ZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3JuZyIgdmlvbGF0ZXMgZm9yZWlnbiBr ZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19mayIgb24gdGFibGUgInRlbXBvcmFs X2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxpZF9hdCk9KFs1LDYpLCBbMjAxOC0w MS0wMywyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNlZCBmcm9tIHRhYmxlICJ0ZW1wb3Jh bF9ma19wZXIycm5nIi4KK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkIGluICgn WzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgIGlkICAgfCAgICAgICAg dmFsaWRfYXQgICAgICAgICAKKy0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFs1 LDYpIHwgWzIwMTYtMDItMDEsMjAxNi0wMy0wMSkKKyBbNSw2KSB8IFsyMDE4LTAxLTAxLDIwMTgt MDEtMDIpCisgWzUsNikgfCBbMjAxOC0wMS0wMywyMDE4LTAyLTAxKQorIFs3LDgpIHwgWzIwMTgt MDEtMDIsMjAxOC0wMS0wMykKKyg0IHJvd3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBp ZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMyw0KSB8IDIwMTgtMDEtMDUgfCAy MDE4LTAxLTEwIHwgWzUsNikKKygxIHJvdykKKworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGlu ZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1lIFBLIHVwZGF0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzMsNCknOworVVBEQVRFIHRlbXBvcmFs X3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDEtMDEsMjAxNi0wMi0wMSknCitXSEVSRSBpZCA9 ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEpJzsKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNUUklDVAorLS0KK1RSVU5DQVRFIHRlbXBv cmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Bl cjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Bl cjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICBPTiBVUERBVEUgUkVTVFJJQ1Q7CitFUlJPUjogIHVu c3VwcG9ydGVkIE9OIFVQREFURSBhY3Rpb24gZm9yIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgdXNp bmcgUEVSSU9ECistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgTk8gQUNUSU9OCist LQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9ybmc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1 c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAy LTAxKScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0t IGEgUEsgZGVsZXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMg cmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4 LTAyLTAxKScpLAorICAoJ1s1LDYpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0xMCcsICdb NSw2KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQg dmFsaWRfYXQgPSAnWzIwMTgtMDItMDEsMjAxOC0wMy0wMSknOworLS0gYSBQSyBkZWxldGUgdGhh dCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQ6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9ybmcgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4 LTAyLTAxKSc7CitFUlJPUjogIHVwZGF0ZSBvciBkZWxldGUgb24gdGFibGUgInRlbXBvcmFsX3Ju ZyIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfZmtfcGVyMnJuZ19m ayIgb24gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmciCitERVRBSUw6ICBLZXkgKGlkLCB2YWxp ZF9hdCk9KFs1LDYpLCBbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSkgaXMgc3RpbGwgcmVmZXJlbmNl ZCBmcm9tIHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIi4KKy0tIGEgUEsgZGVsZXRlIHRoYXQg ZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBidXQgbm90ICd0aWwgY29tbWl0Ogor QkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgICBBTFRFUiBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBE RUZFUlJFRDsKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1LDYpJyBB TkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09N TUlUOworRVJST1I6ICB1cGRhdGUgb3IgZGVsZXRlIG9uIHRhYmxlICJ0ZW1wb3JhbF9ybmciIHZp b2xhdGVzIGZvcmVpZ24ga2V5IGNvbnN0cmFpbnQgInRlbXBvcmFsX2ZrX3BlcjJybmdfZmsiIG9u IHRhYmxlICJ0ZW1wb3JhbF9ma19wZXIycm5nIgorREVUQUlMOiAgS2V5IChpZCwgdmFsaWRfYXQp PShbNSw2KSwgWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSkpIGlzIHN0aWxsIHJlZmVyZW5jZWQgZnJv bSB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIuCistLSBkZWxldGluZyBhbiB1bnJlZmVyZW5j ZWQgcGFydCBpcyBva2F5OgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nCitGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1dIRVJFIGlkID0g J1s1LDYpJzsKKy0tIGRlbGV0aW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorREVMRVRFIEZST00gdGVt cG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAn MjAxOC0wMS0xMCcKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK0VSUk9SOiAgdXBkYXRlIG9yIGRlbGV0 ZSBvbiB0YWJsZSAidGVtcG9yYWxfcm5nIiB2aW9sYXRlcyBmb3JlaWduIGtleSBjb25zdHJhaW50 ICJ0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIiBvbiB0YWJsZSAidGVtcG9yYWxfZmtfcGVyMnJuZyIK K0RFVEFJTDogIEtleSAoaWQsIHZhbGlkX2F0KT0oWzUsNiksIFsyMDE4LTAxLTAzLDIwMTgtMDIt MDEpKSBpcyBzdGlsbCByZWZlcmVuY2VkIGZyb20gdGFibGUgInRlbXBvcmFsX2ZrX3BlcjJybmci LgorU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQgaW4gKCdbNSw2KScsICdbNyw4 KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgaWQgICB8ICAgICAgICB2YWxpZF9hdCAgICAg ICAgIAorLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgWzUsNikgfCBbMjAxOC0w MS0wMSwyMDE4LTAxLTAyKQorIFs1LDYpIHwgWzIwMTgtMDEtMDMsMjAxOC0wMi0wMSkKKygyIHJv d3MpCisKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCBpbiAoJ1sz LDQpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICBpZCAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0KKyBbMyw0KSB8IDIwMTgtMDEtMDUgfCAyMDE4LTAxLTEwIHwgWzUsNikKKygxIHJv dykKKworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRoZSBzYW1l IFBLIGRlbGV0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hF UkUgaWQgPSAnWzMsNCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFJFU1RSSUNUCistLQorVFJVTkNBVEUgdGVtcG9yYWxf cm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJu ZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mazsKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVS RU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIERFTEVURSBSRVNUUklDVDsKK0VSUk9SOiAgdW5zdXBw b3J0ZWQgT04gREVMRVRFIGFjdGlvbiBmb3IgZm9yZWlnbiBrZXkgY29uc3RyYWludCB1c2luZyBQ RVJJT0QKKy0tCistLSBwZXIycm5nIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCistLQor LS0gVE9DOgorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgZGVs ZXRlcyBDQVNDQURFCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCist LSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBD QVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAo dHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29s cykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQg TlVMTCBzdWJzZXQpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2Fs YXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBj b2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMs IFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBD QVNDQURFCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg J1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAs MTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBD QVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5n IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAK Ky0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAw LDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAx OS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbNyw4KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAy MDIxLTAxLTAxIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRF IHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8 IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFs3LDgpCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbNyw4KQorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzcsOCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0 d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRf YXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAt MDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3Ju ZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2 YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAxLTAxIHwg MjAyMC0wMS0wMSB8IFs5LDEwKQorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAx IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBD QVNDQURFCistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg J1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAs MTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTktMDEtMDEg fCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykKKygy IHJvd3MpCisKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdI RVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyBpZCB8IHZhbGlkX2Zy b20gfCB2YWxpZF90aWwgfCBwYXJlbnRfaWQgCistLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Ju ZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAx KScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQg PSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJl bnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t CisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDEgcm93KQor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tCitUUlVOQ0FU RSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0w MS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJu ZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maywKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICAgIE9OIERF TEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAx IHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsxMDAs MTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5v bi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAx OS0wMS0wMSB8IAorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzEw MCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAn WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJy bmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwy MDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBv cmFsX3JuZyBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0 IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJu ZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDE4LTAx LTAxIHwgMjAyMC0wMS0wMSB8IAorIFsyMDAsMjAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAx IHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBT RVQgTlVMTAorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVy MnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAw LDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3Zl cnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAx IHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IAorIFsxMDAs MTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5v bi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IAor IFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzEwMCwxMDEpIHwgMjAy MC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5n IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90 aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgCisgWzIw MCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KQorKDIgcm93cykKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLQorVFJVTkNBVEUg dGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnKCwpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmssCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcKKyAgICBPTiBE RUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJF IGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxp ZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAx OS0wMS0wMSB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBb LTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpCisoMyBy b3dzKQorCistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0g J1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Bl cjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAg aWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAx OC0wMS0wMSB8IDIwMTktMDEtMDEgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwg MjAyMC0wMS0wMSB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAx IHwgWy0xLDApCisoMyByb3dzKQorCistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScs ICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s5LDEwKScg V0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3Rp bCAgfCBwYXJlbnRfaWQgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkK KyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpCisoMiByb3dzKQor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tCitUUlVO Q0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICcoLCknKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKQorIFsxMDAs MTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5v bi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFs aWRfdGlsICB8IHBhcmVudF9pZCAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFst MSwwKQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgWy0xLDApCisgWzEw MCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0t IEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n IChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEp Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgs OSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgn WzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRF IEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJF IGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZh bGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEtMDEgfCAy MDIwLTAxLTAxIHwgWy0xLDApCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEg fCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENB U0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1w b3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Bl cjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAg ICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERB VEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFs X3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFy ZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwg MjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEg fCAyMDIwLTAxLTAxIHwgWzcsOCkgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0w MSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1G UE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFs aWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQor IFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzcsOCkgICAgICB8IFs2LDcp CisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbNyw4KSAgICAgIHwgWzYs NykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs3LDgpICAgICAgfCBb Niw3KQorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywg J1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVy MnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikg VkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScs ICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbOSwxMCknIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAxKSB8IDIwMTgtMDEt MDEgfCAyMDIwLTAxLTAxIHwgWzksMTApICAgICB8IFs4LDkpCisgWzIwMCwyMDEpIHwgMjAyMC0w MS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCist LQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg J1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFy ZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScs ICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9p ZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8IDIwMTkt MDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAy MS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDIgcm93cykKKworLS0gbm9uLUZQTyBkZWxl dGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworIGlkIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCB8IHBhcmVu dF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLQorKDAgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4 LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVS RSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwg IHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAyMDIwLTAx LTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDEgcm93KQorCistLQorLS0g dGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0t CitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAn WzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBE Uk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBh cmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIK KyAgICBPTiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJz IG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxp ZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAg IHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8 IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAg IHwgCisgWzEwMCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbNiw3KSAgICAgIHwg WzYsNykKKygzIHJvd3MpCisKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3Ju ZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRf aWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5 LTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAx LTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAx IHwgICAgICAgICAgICB8IAorKDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdb OSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6 ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIw MCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8 IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsyMDAsMjAx KSB8IDIwMTgtMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsyMDAsMjAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQor CistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIg Y29scykKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAn MjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwg cGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAx IHwgMjAxOS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEt MDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEg fCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBP IGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlk X3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIw MTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIwMTkt MDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IAorIFsxMDAsMTAxKSB8IDIwMjAtMDEt MDEgfCAyMDIxLTAxLTAxIHwgICAgICAgICAgICB8IAorKDMgcm93cykKKworLS0gRksgYWNyb3Nz IHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAt MDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6 OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sy MDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIw MSkgfCAyMDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8ICAgICAgICAgICAgfCAKKyBbMjAwLDIwMSkg fCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykK KworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFy IGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1w b3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2 YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0w MSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBi ZWNhdXNlIHlvdSBjYW4ndCBzZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9mazJfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdf ZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHZhbGlkX2F0KSBP TiBVUERBVEUgU0VUIE5VTEw7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5jZWQg aW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsy X3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkK KyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBh cmVudF9pZDEpIE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVz OgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9N ICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJvbSB8IHZhbGlkX3RpbCAg fCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAsMTAxKSB8IDIwMTgtMDEt MDEgfCAyMDE5LTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisgWzEwMCwxMDEpIHwgMjAxOS0w MS0wMSB8IDIwMjAtMDEtMDEgfCAgICAgICAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDIw LTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0g bm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20g fCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEw MSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8ICAgICAgICAgICAgfCBbNiw3KQorIFsxMDAs MTAxKSB8IDIwMTktMDEtMDEgfCAyMDIwLTAxLTAxIHwgICAgICAgICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCAgICAgICAgICAgIHwgWzYsNykKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAo J1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSkn KTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRf aWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCAgICAg ICAgICAgIHwgWzgsOSkKKyBbMjAwLDIwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFs4 LDkpICAgICAgfCBbOCw5KQorKDIgcm93cykKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1 cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQorVFJVTkNBVEUgdGVtcG9y YWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcy IChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsICcoLCkn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVT ICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJf cGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScs CisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJl bnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisg ICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcs OCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lk MSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0w MS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIwMTktMDEtMDEgfCAyMDIw LTAxLTAxIHwgWy0xLDApICAgICB8IFstMSwwKQorIFsxMDAsMTAxKSB8IDIwMjAtMDEtMDEgfCAy MDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCistLSBub24tRlBPIHVw ZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcs OCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIy cm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlk ICAgICB8IHZhbGlkX2Zyb20gfCB2YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIg CistLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0KKyBbMTAwLDEwMSkgfCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKSAg ICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSww KSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFst MSwwKSAgICAgfCBbLTEsMCkKKygzIHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNl ZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBW QUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsICdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAn WzksMTApJywgaWQyID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQg QD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJu ZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAg ICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAor LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAg IHwgWy0xLDApCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBbOCw5KSAg ICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KK1RSVU5DQVRFIHRlbXBvcmFsX3Ju ZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQx LCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJ1stMSwtMV0nLCAnKCwpJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2 LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitE RUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZ IGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBh cmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0wMS0wMSB8 IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5LTAxLTAx IHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEwMSkgfCAyMDIwLTAx LTAxIHwgMjAyMS0wMS0wMSB8IFs2LDcpICAgICAgfCBbNiw3KQorKDMgcm93cykKKworLS0gbm9u LUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2 YWxpZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMTAwLDEwMSkg fCAyMDE4LTAxLTAxIHwgMjAxOS0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAwLDEw MSkgfCAyMDE5LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKyBbMTAw LDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKSAgICAgfCBbLTEsMCkKKygz IHJvd3MpCisKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5 KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICdbMjAyMC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAo J1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSkn KTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKyAg ICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGlsICB8IHBhcmVudF9pZDEgfCBwYXJlbnRf aWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tCisgWzIwMCwyMDEpIHwgMjAxOC0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEs MCkgICAgIHwgWy0xLDApCisgWzIwMCwyMDEpIHwgMjAyMC0wMS0wMSB8IDIwMjEtMDEtMDEgfCBb OCw5KSAgICAgIHwgWzgsOSkKKygyIHJvd3MpCisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQg ZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQp CistLQorVFJVTkNBVEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwt MV0nLCAnWzYsNyknLCAnKCwpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEt MDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFp bHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFV TFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmss CisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBP TiBVUERBVEUgU0VUIERFRkFVTFQ7CitFUlJPUjogIGNvbHVtbiAidmFsaWRfYXQiIHJlZmVyZW5j ZWQgaW4gT04gREVMRVRFIFNFVCBhY3Rpb24gY2Fubm90IGJlIFBFUklPRAorLS0gb2s6CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBT RVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVy MnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBG T1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCAocGFy ZW50X2lkMSkgT04gVVBEQVRFIFNFVCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKyAgICBpZCAgICAgfCB2YWxpZF9mcm9tIHwgdmFsaWRfdGls ICB8IHBhcmVudF9pZDEgfCBwYXJlbnRfaWQyIAorLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgWzEwMCwxMDEpIHwgMjAxOC0w MS0wMSB8IDIwMTktMDEtMDEgfCBbNiw3KSAgICAgIHwgWzYsNykKKyBbMTAwLDEwMSkgfCAyMDE5 LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbNiw3KQorIFsxMDAsMTAxKSB8IDIw MjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzYsNykgICAgICB8IFs2LDcpCisoMyByb3dzKQorCist LSBub24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisgICAgaWQgICAgIHwgdmFsaWRfZnJv bSB8IHZhbGlkX3RpbCAgfCBwYXJlbnRfaWQxIHwgcGFyZW50X2lkMiAKKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorIFsxMDAs MTAxKSB8IDIwMTgtMDEtMDEgfCAyMDE5LTAxLTAxIHwgWy0xLDApICAgICB8IFs2LDcpCisgWzEw MCwxMDEpIHwgMjAxOS0wMS0wMSB8IDIwMjAtMDEtMDEgfCBbLTEsMCkgICAgIHwgWzYsNykKKyBb MTAwLDEwMSkgfCAyMDIwLTAxLTAxIHwgMjAyMS0wMS0wMSB8IFstMSwwKSAgICAgfCBbNiw3KQor KDMgcm93cykKKworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4 LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9y bmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIw LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlk MiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWzgsOSknLCAnKCwpJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAn MjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5n MiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworICAgIGlkICAgICB8IHZhbGlkX2Zyb20gfCB2YWxp ZF90aWwgIHwgcGFyZW50X2lkMSB8IHBhcmVudF9pZDIgCistLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0KKyBbMjAwLDIwMSkgfCAy MDE4LTAxLTAxIHwgMjAyMC0wMS0wMSB8IFstMSwwKSAgICAgfCBbOCw5KQorIFsyMDAsMjAxKSB8 IDIwMjAtMDEtMDEgfCAyMDIxLTAxLTAxIHwgWzgsOSkgICAgICB8IFs4LDkpCisoMiByb3dzKQor CistLSBGSyB3aXRoIGEgY3VzdG9tIHJhbmdlIHR5cGUKK0NSRUFURSBUWVBFIG15ZGF0ZXJhbmdl IEFTIHJhbmdlKHN1YnR5cGU9ZGF0ZSk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nMyAoCisg IGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgbXlkYXRlcmFuZ2UsCisgIENPTlNUUkFJTlQgdGVt cG9yYWxfcm5nM19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp CispOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrM19ybmcycm5nICgKKyAgaWQgaW50NHJhbmdl LAorICB2YWxpZF9hdCBteWRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5nMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcycm5nX2Zr IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3JuZzMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpIE9OIERFTEVURSBDQVNDQURFCisp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5 KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAo J1s1LDYpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSkn KTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzMgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmszX3JuZzJybmcgV0hFUkUgaWQgPSAnWzUsNiknOworICBpZCAg IHwgICAgICAgIHZhbGlkX2F0ICAgICAgICAgfCBwYXJlbnRfaWQgCistLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0KKyBbNSw2KSB8IFsyMDE4LTAxLTAxLDIwMTkt MDEtMDEpIHwgWzgsOSkKKyBbNSw2KSB8IFsyMDIwLTAxLTAxLDIwMjEtMDEtMDEpIHwgWzgsOSkK KygyIHJvd3MpCisKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmszX3JuZzJybmc7CitEUk9QIFRBQkxF IHRlbXBvcmFsX3JuZzM7CitEUk9QIFRZUEUgbXlkYXRlcmFuZ2U7CistLQorLS0gRksgYmV0d2Vl biBwYXJ0aXRpb25lZCB0YWJsZXM6IHJhbmdlcworLS0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9w YXJ0aXRpb25lZF9ybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwK KyAgbmFtZSB0ZXh0LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0aW9uZWRfcm5nX3BrIFBS SU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykKKykgUEFSVElUSU9OIEJZ IExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0cDEgUEFSVElUSU9OIE9GIHRlbXBvcmFsX3BhcnRp dGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCknLCAnWzUsNiknLCAnWzcs OCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUsMTYpJywgJ1sxNywxOCkn LCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0NSRUFURSBUQUJMRSB0cDIgUEFS VElUSU9OIE9GIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyBGT1IgVkFMVUVTIElOICgnWzAsMSkn LCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgsOSknLCAnWzEwLDExKScsICdbMTIsMTMp JywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkpJywgJ1syMCwyMSknLCAnWzIyLDIzKScs ICdbMjQsMjUpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgKGlkLCB2 YWxpZF9hdCwgbmFtZSkgVkFMVUVTCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEn LCAnMjAwMC0wMi0wMScpLCAnb25lJyksCisgICgnWzEsMiknLCBkYXRlcmFuZ2UoJzIwMDAtMDIt MDEnLCAnMjAwMC0wMy0wMScpLCAnb25lJyksCisgICgnWzIsMyknLCBkYXRlcmFuZ2UoJzIwMDAt MDEtMDEnLCAnMjAxMC0wMS0wMScpLCAndHdvJyk7CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGFy dGl0aW9uZWRfZmtfcm5nMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJh bmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BhcnRp dGlvbmVkX2ZrX3JuZzJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2Zr IEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VT IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKykgUEFSVElU SU9OIEJZIExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0ZmtwMSBQQVJUSVRJT04gT0YgdGVtcG9y YWxfcGFydGl0aW9uZWRfZmtfcm5nMnJuZyBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCkn LCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUs MTYpJywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0NSRUFU RSBUQUJMRSB0ZmtwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfcm5nMnJu ZyBGT1IgVkFMVUVTIElOICgnWzAsMSknLCAnWzIsMyknLCAnWzQsNSknLCAnWzYsNyknLCAnWzgs OSknLCAnWzEwLDExKScsICdbMTIsMTMpJywgJ1sxNCwxNSknLCAnWzE2LDE3KScsICdbMTgsMTkp JywgJ1syMCwyMSknLCAnWzIyLDIzKScsICdbMjQsMjUpJyk7CistLQorLS0gcGFydGl0aW9uZWQg RksgcmVmZXJlbmNpbmcgaW5zZXJ0cworLS0KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlv bmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMSwy KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTE1JyksICdbMSwyKScpLAorICAo J1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAxLTAxLTAxJywgJzIwMDItMDEtMDEnKSwgJ1syLDMpJyks CisgICgnWzIsMyknLCBkYXRlcmFuZ2UoJzIwMDAtMDEtMDEnLCAnMjAwMC0wMi0xNScpLCAnWzEs MiknKTsKKy0tIHNob3VsZCBmYWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRf Zmtfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQpJywg ZGF0ZXJhbmdlKCcyMDEwLTAxLTAxJywgJzIwMTAtMDItMTUnKSwgJ1sxLDIpJyk7CitFUlJPUjog IGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgInRma3AxIiB2aW9sYXRlcyBmb3JlaWduIGtleSBj b25zdHJhaW50ICJ0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5nX2ZrIgorREVUQUlMOiAg S2V5IChwYXJlbnRfaWQsIHZhbGlkX2F0KT0oWzEsMiksIFsyMDEwLTAxLTAxLDIwMTAtMDItMTUp KSBpcyBub3QgcHJlc2VudCBpbiB0YWJsZSAidGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIi4KK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcy MDAwLTAyLTE1JyksICdbMyw0KScpOworRVJST1I6ICBpbnNlcnQgb3IgdXBkYXRlIG9uIHRhYmxl ICJ0ZmtwMSIgdmlvbGF0ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAidGVtcG9yYWxfcGFydGl0 aW9uZWRfZmtfcm5nMnJuZ19mayIKK0RFVEFJTDogIEtleSAocGFyZW50X2lkLCB2YWxpZF9hdCk9 KFszLDQpLCBbMjAwMC0wMS0wMSwyMDAwLTAyLTE1KSkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUg InRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyIuCistLQorLS0gcGFydGl0aW9uZWQgRksgcmVmZXJl bmNpbmcgdXBkYXRlcworLS0KK1VQREFURSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ma19ybmcycm5n IFNFVCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTEzJykgV0hF UkUgaWQgPSAnWzIsMyknOworLS0gbW92ZSBhIHJvdyBmcm9tIHRoZSBmaXJzdCBwYXJ0aXRpb24g dG8gdGhlIHNlY29uZAorVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgU0VU IGlkID0gJ1s0LDUpJyBXSEVSRSBpZCA9ICdbMSwyKSc7CistLSBtb3ZlIGEgcm93IGZyb20gdGhl IHNlY29uZCBwYXJ0aXRpb24gdG8gdGhlIGZpcnN0CitVUERBVEUgdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfcm5nMnJuZyBTRVQgaWQgPSAnWzEsMiknIFdIRVJFIGlkID0gJ1s0LDUpJzsKIC0tIHNo b3VsZCBmYWlsOgogVVBEQVRFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgU0VUIHZh bGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywgJzIwMDAtMDQtMDEnKSBXSEVSRSBpZCA9 ICdbMSwyKSc7CiBFUlJPUjogIGNvbmZsaWN0aW5nIGtleSB2YWx1ZSB2aW9sYXRlcyBleGNsdXNp b24gY29uc3RyYWludCAidGZrcDFfcGtleSIKQEAgLTQyMjAsNCArODUyNCwxOCBAQCBTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX21sdHJuZzJtbHRybmcgV0hFUkUgaWQgPSAn WzE1LDE2KSc7CiAKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1s dHJuZzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0cm5nOworLS0KKy0tIEZL IGJldHdlZW4gcGFydGl0aW9uZWQgdGFibGVzOiBQRVJJT0RzCistLQorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX3BhcnRpdGlvbmVkX3BlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBk YXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgbmFtZSB0ZXh0LAorICBQRVJJT0QgRk9SIHZhbGlk X2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3Bhcml0 aW9uZWRfcm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUykK KykgUEFSVElUSU9OIEJZIExJU1QgKGlkKTsKK0NSRUFURSBUQUJMRSB0cDEgUEFSVElUSU9OIE9G IHRlbXBvcmFsX3BhcnRpdGlvbmVkX3BlciBGT1IgVkFMVUVTIElOICgnWzEsMiknLCAnWzMsNCkn LCAnWzUsNiknLCAnWzcsOCknLCAnWzksMTApJywgJ1sxMSwxMiknLCAnWzEzLDE0KScsICdbMTUs MTYpJywgJ1sxNywxOCknLCAnWzE5LDIwKScsICdbMjEsMjIpJywgJ1syMywyNCknKTsKK0VSUk9S OiAgSW5oZXJpdGluZyBmcm9tIGEgdGFibGUgd2l0aCBhIFBFUklPRCBpcyBub3Qgc3VwcG9ydGVk CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3BlcjsKIFJFU0VUIGRhdGVzdHlsZTsK ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVz dC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IGY3OGMzNGNiOTc4Li5kMDQwN2Y4M2Rk NCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9wYXJhbGxlbF9zY2hlZHVsZQorKysgYi9z cmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCkBAIC00Myw3ICs0Myw3IEBAIHRlc3Q6 IGNvcHkgY29weXNlbGVjdCBjb3B5ZG1sIGNvcHllbmNvZGluZyBpbnNlcnQgaW5zZXJ0X2NvbmZs aWN0CiAjIE5vdGU6IG1hbnkgb2YgdGhlIHRlc3RzIGluIGxhdGVyIGdyb3VwcyBkZXBlbmQgb24g Y3JlYXRlX2luZGV4CiAjIC0tLS0tLS0tLS0KIHRlc3Q6IGNyZWF0ZV9mdW5jdGlvbl9jIGNyZWF0 ZV9taXNjIGNyZWF0ZV9vcGVyYXRvciBjcmVhdGVfcHJvY2VkdXJlIGNyZWF0ZV90YWJsZSBjcmVh dGVfdHlwZSBjcmVhdGVfc2NoZW1hCi10ZXN0OiBjcmVhdGVfaW5kZXggY3JlYXRlX2luZGV4X3Nw Z2lzdCBjcmVhdGVfdmlldyBpbmRleF9pbmNsdWRpbmcgaW5kZXhfaW5jbHVkaW5nX2dpc3QKK3Rl c3Q6IGNyZWF0ZV9pbmRleCBjcmVhdGVfaW5kZXhfc3BnaXN0IGNyZWF0ZV92aWV3IGluZGV4X2lu Y2x1ZGluZyBpbmRleF9pbmNsdWRpbmdfZ2lzdCBwZXJpb2RzCiAKICMgLS0tLS0tLS0tLQogIyBB bm90aGVyIGdyb3VwIG9mIHBhcmFsbGVsIHRlc3RzCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9y dGlvbl9vZi5zcWwKaW5kZXggNzQ5M2NjNGMyMzMuLjBiMzM2MWExNDIwIDEwMDY0NAotLS0gYS9z cmMvdGVzdC9yZWdyZXNzL3NxbC9mb3JfcG9ydGlvbl9vZi5zcWwKKysrIGIvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvZm9yX3BvcnRpb25fb2Yuc3FsCkBAIC04MDEsNiArODAxLDU2IEBAIFNFTEVDVCAq IEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwogCiBEUk9Q IFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOwogCistLSBUZXN0IHdpdGggUEVSSU9EcworCitD UkVBVEUgVEFCTEUgZm9yX3BvcnRpb25fb2ZfdGVzdDIgKAorICBpZCBpbnQ0cmFuZ2UgTk9UIE5V TEwsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIG5hbWUgdGV4dCBO T1QgTlVMTCwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwK KyAgQ09OU1RSQUlOVCBmb3JfcG9ydGlvbl9vZl90ZXN0Ml9wayBQUklNQVJZIEtFWSAoaWQsIHZh bGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworSU5TRVJUIElOVE8gZm9yX3BvcnRpb25fb2Zf dGVzdDIKK1ZBTFVFUworKCdbMSwyKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDItMDMnLCAnb25l JyksCisoJ1sxLDIpJywgJzIwMTgtMDItMDQnLCAnMjAxOC0wMy0wMycsICdvbmUnKSwKKygnWzEs MiknLCAnMjAxOC0wMy0wMycsICcyMDE4LTA0LTA0JywgJ29uZScpLAorKCdbMiwzKScsICcyMDE4 LTAxLTAxJywgJzIwMTgtMDUtMDEnLCAndHdvJyksCisoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBu dWxsLCAndGhyZWUnKTsKKzsKKworVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKK1NFVCBu YW1lID0gJ29uZV4xJworV0hFUkUgaWQgPSAnWzEsMiknOworCitERUxFVEUgRlJPTSBmb3JfcG9y dGlvbl9vZl90ZXN0MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xNScg VE8gJzIwMTgtMDItMTUnCitXSEVSRSBpZCA9ICdbMiwzKSc7CisKKy0tIFNldHRpbmcgdGhlIHN0 YXJ0IGNvbHVtbiBmYWlsczoKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90ZXN0MgorRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgtMDItMTAnCitTRVQgdmFs aWRfZnJvbSA9ICcyMDE4LTAyLTAxJworV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBTZXR0aW5n IHRoZSBlbmQgY29sdW1uIGZhaWxzOgorVVBEQVRFIGZvcl9wb3J0aW9uX29mX3Rlc3QyCitGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTEwJyBUTyAnMjAxOC0wMi0xMCcKK1NF VCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gU2V0 dGluZyB0aGUgZ2VuZXJhdGVkIGNvbHVtbiBmYWlsczoKK1VQREFURSBmb3JfcG9ydGlvbl9vZl90 ZXN0MgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0xMCcgVE8gJzIwMTgt MDItMTAnCitTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDItMDEsMjAxOC0wMi0wMyknCitXSEVSRSBp ZCA9ICdbMSwyKSc7CisKK1NFTEVDVCAqIEZST00gZm9yX3BvcnRpb25fb2ZfdGVzdDIgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworCitEUk9QIFRBQkxFIGZvcl9wb3J0aW9uX29mX3Rlc3QyOworCiAt LSBUZXN0IHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZQogCiBDUkVBVEUgVFlQRSBteWRhdGVyYW5n ZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUpOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvcGVyaW9kcy5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wZXJpb2RzLnNxbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMDRhMzAxMTBkZWMKLS0tIC9kZXYvbnVs bAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wZXJpb2RzLnNxbApAQCAtMCwwICsxLDE5OCBA QAorLyogU3lzdGVtIHBlcmlvZHMgYXJlIG5vdCBpbXBsZW1lbnRlZCAqLworY3JlYXRlIHRhYmxl IHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHN5c3RlbV90aW1l IChkcywgZGUpKTsKKworLyogUGVyaW9kcyBtdXN0IHNwZWNpZnkgYWN0dWFsIGNvbHVtbnMgKi8K K2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZv ciBwIChib2d1cywgZGUpKTsKK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwg ZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgYm9ndXMpKTsKKworLyogRGF0YSB0eXBlcyBtdXN0 IG1hdGNoIGV4YWN0bHkgKi8KK2NyZWF0ZSB0YWJsZSBwdCAoaWQgaW50ZWdlciwgZHMgZGF0ZSwg ZGUgdGltZXN0YW1wLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworY3JlYXRlIHRhYmxlIHB0IChp ZCBpbnRlZ2VyLCBkcyB0ZXh0IGNvbGxhdGUgIkMiLCBkZSB0ZXh0IGNvbGxhdGUgIlBPU0lYIiwg cGVyaW9kIGZvciBwIChkcywgZGUpKTsKKworLyogUGVyaW9kcyBtdXN0IGhhdmUgYSBkZWZhdWx0 IEJUcmVlIG9wZXJhdG9yIGNsYXNzICovCitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRz IHhtbCwgZGUgeG1sLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworCisvKiBQZXJpb2QgYW5kIGNv bHVtbiBuYW1lcyBhcmUgaW4gdGhlIHNhbWUgbmFtZXNwYWNlICovCitjcmVhdGUgdGFibGUgcHQg KGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgY3RpZCAoZHMsIGRlKSk7 CitjcmVhdGUgdGFibGUgcHQgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBm b3IgaWQgKGRzLCBkZSkpOworCisvKiBQZXJpb2QgbmFtZSBjYW4ndCBiZSBnaXZlbiBtb3JlIHRo YW4gb25jZSAqLworY3JlYXRlIHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRl LCBwZXJpb2QgZm9yIHAgKGRzLCBkZSksIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CisKKy8qIFBl cmlvZCBjYW4ndCB1c2UgdGhlIHNhbWUgY29sdW0gZm9yIHN0YXJ0IGFuZCBlbmQqLworY3JlYXRl IHRhYmxlIHB0IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRz LCBkcykpOworCisvKiBOb3cgbWFrZSBvbmUgdGhhdCB3b3JrcyAqLworY3JlYXRlIHRhYmxlIHB0 IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOwor LyogSXRzIGdlbmVyYXRlZCBjb2x1bW4gbG9va3MgZ29vZCAqLworc2VsZWN0IGF0dG5hbWUsIGF0 dHR5cGlkOjpyZWd0eXBlLCBhdHRub3RudWxsLCBhdHRnZW5lcmF0ZWQgZnJvbSBwZ19hdHRyaWJ1 dGUgd2hlcmUgYXR0cmVsaWQgPSAncHQnOjpyZWdjbGFzcyBhbmQgYXR0bmFtZSA9ICdwJzsKK3Nl bGVjdCBjb25uYW1lLCBjb250eXBlIGZyb20gcGdfY29uc3RyYWludCB3aGVyZSBjb25yZWxpZCA9 ICdwdCc6OnJlZ2NsYXNzIG9yZGVyIGJ5IGNvbm5hbWU7CisvKiBJdCBhcHBlYXJzIGluIHRoZSBp bmZvcm1hdGlvbl9zY2hlbWEgKi8KK3NlbGVjdCAqIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnBl cmlvZHM7CisKKy8qIFNFTEVDVCAqIGV4Y2x1ZGVzIHRoZSBQRVJJT0QgKi8KK2luc2VydCBpbnRv IHB0IHZhbHVlcyAoMSwgJzIwMDAtMDEtMDEnLCAnMjAwMS0wMS0wMScpOworc2VsZWN0ICogZnJv bSBwdDsKKworLyogWW91IGNhbiBnZXQgaXQgaWYgeW91IHdhbnQgKi8KK3NlbGVjdCAqLCBwIGZy b20gcHQ7CisKKy8qIFlvdSBjYW4gY29tbWVudCBvbiBpdCAqLworY29tbWVudCBvbiBwZXJpb2Qg cHQucCBpcyAndGVzdCBjb21tZW50JzsKK3NlbGVjdCBvYmpfZGVzY3JpcHRpb24oKHNlbGVjdCBv aWQgZnJvbSBwZ19wZXJpb2Qgd2hlcmUgcGVycmVsaWQgPSAncHQnOjpyZWdjbGFzcyBhbmQgcGVy bmFtZSA9ICdwJyksICdwZ19wZXJpb2QnKTsKKworLyogVHdvIGFyZSBva2F5ICovCitjcmVhdGUg dGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAxIChk cywgZGUpLCBwZXJpb2QgZm9yIHAyIChkcywgZGUpKTsKK2Ryb3AgdGFibGUgcHQyOworCisvKiBT a2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IHdvcmtzICovCitjcmVhdGUgdGFibGUgcHQy IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBnZW5l cmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAg KGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkpOworXGQgcHQyCitkcm9wIHRhYmxlIHB0 MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUg Y29sIGlzbid0IHRoZXJlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRl LCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSkp OworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBv cHRpb24gaGFzIGFuIGludmFsaWQgdmFsdWUgKi8KK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVn ZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlz dHMgPSAnd2hhdGV2ZXInKSk7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZh aWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgTk9UIE5VTEwgKi8KK2NyZWF0ZSB0YWJsZSBw dDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAgZGF0ZXJhbmdlIGdlbmVyYXRlZCBh bHdheXMgYXMgKGRhdGVyYW5nZShkcywgZGUpKSBzdG9yZWQsIHBlcmlvZCBmb3IgcCAoZHMsIGRl KSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBj b2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgR0VORVJBVEVEICovCitjcmVh dGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBu b3QgbnVsbCwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0cyA9IHRydWUpKTsK Ky8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29s dW1uIGlzIEdFTkVSQVRFRCBidXQgd2l0aCB0aGUgd3JvbmcgZXhwcmVzc2lvbiAqLworLS0gVE9E TzoKKy0tIGNyZWF0ZSB0YWJsZSBwdDIgKGlkIGludGVnZXIsIGRzIGRhdGUsIGRlIGRhdGUsIHAg ZGF0ZXJhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMgKGRhdGVyYW5nZShkZSwgZHMp KSBzdG9yZWQsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSk7 CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNv bHVtbiBpcyB0aGUgd3JvbmcgdHlwZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwg ZHMgZGF0ZSwgZGUgZGF0ZSwgcCB0c3JhbmdlIG5vdCBudWxsIGdlbmVyYXRlZCBhbHdheXMgYXMg KHRzcmFuZ2UoZHMsIGRlKSkgc3RvcmVkLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29s ZXhpc3RzID0gdHJ1ZSkpOworLyogU2tpcCBjcmVhdGluZyBHRU5FUkFURUQgY29sdW1uOiBmYWls cyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgaW5oZXJpdGVkICovCitjcmVhdGUgdGFibGUgcHQycGFy ZW50IChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBub3QgbnVsbCBn ZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsKK2NyZWF0ZSB0 YWJsZSBwdDIgKHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0cnVlKSkg aW5oZXJpdHMgKHB0MnBhcmVudCk7Citkcm9wIHRhYmxlIHB0MnBhcmVudDsKKworCisvKgorICog QUxURVIgVEFCTEUgdGVzdHMKKyAqLworYWx0ZXIgdGFibGUgcHQgZHJvcCBwZXJpb2QgZm9yIHA7 CithbHRlciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZvciBzeXN0ZW1fdGltZSAoZHMsIGRlKTsKK2Fs dGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSk7CisvKiBJdHMgZ2VuZXJhdGVk IGNvbHVtbiBsb29rcyBnb29kICovCitzZWxlY3QgYXR0bmFtZSwgYXR0dHlwaWQ6OnJlZ3R5cGUs IGF0dG5vdG51bGwsIGF0dGdlbmVyYXRlZCBmcm9tIHBnX2F0dHJpYnV0ZSB3aGVyZSBhdHRyZWxp ZCA9ICdwdCc6OnJlZ2NsYXNzIGFuZCBhdHRuYW1lID0gJ3AnOworc2VsZWN0IGNvbm5hbWUsIGNv bnR5cGUgZnJvbSBwZ19jb25zdHJhaW50IHdoZXJlIGNvbnJlbGlkID0gJ3B0Jzo6cmVnY2xhc3Mg b3JkZXIgYnkgY29ubmFtZTsKKworLyogQWRkaW5nIGEgc2Vjb25kIG9uZSAqLworY3JlYXRlIHRh YmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwMSAoZHMs IGRlKSk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcDIgKGRzLCBkZSk7Citkcm9w IHRhYmxlIHB0MjsKKworLyogQ2FuJ3QgZHJvcCBpdHMgY29sdW1ucyAqLworYWx0ZXIgdGFibGUg cHQgZHJvcCBjb2x1bW4gZHM7CithbHRlciB0YWJsZSBwdCBkcm9wIGNvbHVtbiBkZTsKKworLyog Q2FuJ3QgY2hhbmdlIHRoZSBkYXRhIHR5cGVzICovCithbHRlciB0YWJsZSBwdCBhbHRlciBjb2x1 bW4gZHMgdHlwZSB0aW1lc3RhbXA7CithbHRlciB0YWJsZSBwdCBhbHRlciBjb2x1bW4gZHMgdHlw ZSB0aW1lc3RhbXA7CisKKy8qIGNvbHVtbi9wZXJpb2QgbmFtZXNwYWNlIGNvbmZsaWN0cyAqLwor YWx0ZXIgdGFibGUgcHQgYWRkIGNvbHVtbiBwIGludGVnZXI7CithbHRlciB0YWJsZSBwdCByZW5h bWUgY29sdW1uIGlkIHRvIHA7CithbHRlciB0YWJsZSBwdCBhZGQgcGVyaW9kIGZvciB0YWJsZW9p ZCAoZHMsIGRlKTsKK2FsdGVyIHRhYmxlIHB0IGFkZCBwZXJpb2QgZm9yICIuLi4uLi4uLnBnLmRy b3BwZWQuNC4uLi4uLi4uIiAoZHMsIGRlKTsKKworLyogYWRkaW5nIGNvbHVtbnMgYW5kIHRoZSBw ZXJpb2QgYXQgdGhlIHNhbWUgdGltZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlcik7 CithbHRlciB0YWJsZSBwdDIgYWRkIGNvbHVtbiBkcyBkYXRlLCBhZGQgY29sdW1uIGRlIGRhdGUs IGFkZCBwZXJpb2QgZm9yIHAgKGRzLCBkZSk7Citkcm9wIHRhYmxlIHB0MjsKKworLyogQW1iaWd1 b3VzIHJhbmdlIHR5cGVzIHJhaXNlIGFuIGVycm9yICovCitjcmVhdGUgdHlwZSBteWRhdGVyYW5n ZSBhcyByYW5nZShzdWJ0eXBlPWRhdGUpOworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50LCBkcyBk YXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkpOworCisvKiBZb3UgY2FuIGdpdmUg YW4gZXhwbGljaXQgcmFuZ2UgdHlwZSAqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50LCBkcyBk YXRlLCBkZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAocmFuZ2V0eXBlID0gJ215 ZGF0ZXJhbmdlJykpOworZHJvcCB0eXBlIG15ZGF0ZXJhbmdlOworZHJvcCB0eXBlIG15ZGF0ZXJh bmdlIGNhc2NhZGU7Citkcm9wIHRhYmxlIHB0MjsKK2NyZWF0ZSB0YWJsZSBwdDIgKGlkIGludCwg ZHMgZGF0ZSwgZGUgZGF0ZSwgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKHJhbmdldHlwZSA9 ICdkYXRlcmFuZ2UnKSk7CisKKy8qIFJhbmdlIHR5cGUgaXMgbm90IGZvdW5kICovCitjcmVhdGUg dGFibGUgcHQzIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRhdGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRl KSB3aXRoIChyYW5nZXR5cGUgPSAnbm90YXJhbmdlJykpOworCisvKiBSYW5nZSB0eXBlIGlzIHRo ZSB3cm9uZyB0eXBlICovCitjcmVhdGUgdGFibGUgcHQzIChpZCBpbnQsIGRzIGRhdGUsIGRlIGRh dGUsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChyYW5nZXR5cGUgPSAndHN0enJhbmdlJykp OworZHJvcCB0YWJsZSBwdDI7CisKKy8qIFBlcmlvZCBjYW4ndCB1c2UgdGhlIHNhbWUgY29sdW0g Zm9yIHN0YXJ0IGFuZCBlbmQqLworY3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0 ZSwgZGUgZGF0ZSk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRzKTsK K2Ryb3AgdGFibGUgcHQyOworCisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBjb2x1bW46IHdv cmtzICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBw IGRhdGVyYW5nZSBub3QgbnVsbCBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRl KSkgc3RvcmVkKTsKK2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdp dGggKGNvbGV4aXN0cyA9IHRydWUpOworXGQgcHQyCitkcm9wIHRhYmxlIHB0MjsKKy8qIFNraXAg Y3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUgY29sIGlzbid0IHRo ZXJlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlKTsK K2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0 cyA9IHRydWUpOworZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBj b2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIG9wdGlvbiBoYXMgYW4gaW52YWxpZCB2YWx1ZSAqLwor Y3JlYXRlIHRhYmxlIHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFu Z2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3Jl ZCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xl eGlzdHMgPSAnd2hhdGV2ZXInKTsKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBH RU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgbm90IE5PVCBOVUxM ICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRh dGVyYW5nZSBnZW5lcmF0ZWQgYWx3YXlzIGFzIChkYXRlcmFuZ2UoZHMsIGRlKSkgc3RvcmVkKTsK K2FsdGVyIHRhYmxlIHB0MiBhZGQgcGVyaW9kIGZvciBwIChkcywgZGUpIHdpdGggKGNvbGV4aXN0 cyA9IHRydWUpOworZHJvcCB0YWJsZSBwdDI7CisvKiBTa2lwIGNyZWF0aW5nIEdFTkVSQVRFRCBj b2x1bW46IGZhaWxzIGJlY2F1c2UgdGhlIGNvbHVtbiBpcyBub3QgR0VORVJBVEVEICovCitjcmVh dGUgdGFibGUgcHQyIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIGRhdGVyYW5nZSBu b3QgbnVsbCk7CithbHRlciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRo IChjb2xleGlzdHMgPSB0cnVlKTsKK2Ryb3AgdGFibGUgcHQyOworLyogU2tpcCBjcmVhdGluZyBH RU5FUkFURUQgY29sdW1uOiBmYWlscyBiZWNhdXNlIHRoZSBjb2x1bW4gaXMgR0VORVJBVEVEIGJ1 dCB3aXRoIHRoZSB3cm9uZyBleHByZXNzaW9uICovCistLSBUT0RPOgorLS0gY3JlYXRlIHRhYmxl IHB0MiAoaWQgaW50ZWdlciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwg Z2VuZXJhdGVkIGFsd2F5cyBhcyAoZGF0ZXJhbmdlKGRlLCBkcykpIHN0b3JlZCk7CistLSBhbHRl ciB0YWJsZSBwdDIgYWRkIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSB3aXRoIChjb2xleGlzdHMgPSB0 cnVlKTsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0 aGUgY29sdW1uIGlzIHRoZSB3cm9uZyB0eXBlICovCitjcmVhdGUgdGFibGUgcHQyIChpZCBpbnRl Z2VyLCBkcyBkYXRlLCBkZSBkYXRlLCBwIHRzcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5 cyBhcyAodHNyYW5nZShkcywgZGUpKSBzdG9yZWQpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJp b2QgZm9yIHAgKGRzLCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7Citkcm9wIHRhYmxlIHB0 MjsKKy8qIFNraXAgY3JlYXRpbmcgR0VORVJBVEVEIGNvbHVtbjogZmFpbHMgYmVjYXVzZSB0aGUg Y29sdW1uIGlzIGluaGVyaXRlZCAqLworY3JlYXRlIHRhYmxlIHB0MnBhcmVudCAoaWQgaW50ZWdl ciwgZHMgZGF0ZSwgZGUgZGF0ZSwgcCBkYXRlcmFuZ2Ugbm90IG51bGwgZ2VuZXJhdGVkIGFsd2F5 cyBhcyAoZGF0ZXJhbmdlKGRzLCBkZSkpIHN0b3JlZCk7CitjcmVhdGUgdGFibGUgcHQyICgpIGlu aGVyaXRzIChwdDJwYXJlbnQpOworYWx0ZXIgdGFibGUgcHQyIGFkZCBwZXJpb2QgZm9yIHAgKGRz LCBkZSkgd2l0aCAoY29sZXhpc3RzID0gdHJ1ZSk7Citkcm9wIHRhYmxlIHB0MjsKK2Ryb3AgdGFi bGUgcHQycGFyZW50OworCisvKiBDUkVBVEUgVEFCTEUgKExJS0UgLi4uKSAqLworCisvKiBQZXJp b2RzIGFyZSBub3QgY29waWVkIGJ5IExJS0UsIHNvIHRoZWlyIGNvbHVtbnMgYXJlbid0IGVpdGhl ciAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCk7CitcZCBwdDIKK2Ryb3AgdGFibGUgcHQy OworCisvKiBDYW4gYWRkIGEgcGVyaW9kIHJlZmVycmluZyB0byBMSUtFJ2QgY29sdW1ucyAqLwor Y3JlYXRlIHRhYmxlIG5vdF9wIChpZCBpbnRlZ2VyLCBkcyBkYXRlLCBkZSBkYXRlKTsKK2NyZWF0 ZSB0YWJsZSBwdDIgKGxpa2Ugbm90X3AsIHBlcmlvZCBmb3IgcCAoZHMsIGRlKSk7CitcZCBwdDIK K2Ryb3AgdGFibGUgcHQyOworCisvKiBDYW4gYWRkIGEgcGVyaW9kIHdpdGggdGhlIHNhbWUgbmFt ZSAqLworY3JlYXRlIHRhYmxlIHB0MiAobGlrZSBwdCwgcGVyaW9kIGZvciBwIChkcywgZGUpKTsK K1xkIHB0MgorZHJvcCB0YWJsZSBwdDI7CisKKy8qIENhbiBhZGQgYSBwZXJpb2Qgd2l0aCBhIGRp ZmZlcmVudCBuYW1lICovCitjcmVhdGUgdGFibGUgcHQyIChsaWtlIHB0LCBwZXJpb2QgZm9yIHAy IChkcywgZGUpKTsKK1xkIHB0MgorZHJvcCB0YWJsZSBwdDI7CisKKy8qIENhbid0IGFkZCBhIHBl cmlvZCB3aG9zZSBuYW1lIGNvbmZsaWN0cyB3aXRoIGEgTElLRSdkIGNvbHVtbiAqLworY3JlYXRl IHRhYmxlIHB0MiAobGlrZSBwdCwgcGVyaW9kIGZvciBpZCAoZHMsIGRlKSk7CisKKy8qIENSRUFU RSBUQUxCRSBJTkhFUklUUyAqLworCisvKiBDYW4ndCBpbmhlcml0IGZyb20gYSB0YWJsZSB3aXRo IGEgcGVyaW9kICovCitjcmVhdGUgdGFibGUgcHQyIChuYW1lIHRleHQpIGluaGVyaXRzIChwdCk7 CisKKy8qIENhbid0IGluaGVyaXQgd2l0aCBhIHBlcmlvZCAqLworY3JlYXRlIHRhYmxlIHB0MiAo ZDJzIGRhdGUsIGQyZSBkYXRlLCBwZXJpb2QgZm9yIHAgKGQycywgZDJlKSkgaW5oZXJpdHMgKG5v dF9wKTsKKworZHJvcCB0YWJsZSBub3RfcDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3ByaXZpbGVnZXMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcHJpdmlsZWdlcy5zcWwK aW5kZXggYWU1N2YyMzMzMTQuLmMzNmIxZDM0YWY1IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9wcml2aWxlZ2VzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wcml2aWxl Z2VzLnNxbApAQCAtNzgzLDYgKzc4MywzNCBAQCBVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMgogU0VU IFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZfdXNlcjE7CiBEUk9QIFRBQkxFIHQx OwogCistLSB0ZXN0IGNvbHVtbi1sZXZlbCBwcml2aWxlZ2VzIG9uIHRoZSBQRVJJT0QgdXNlZCBp biBGT1IgUE9SVElPTiBPRgorU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiByZWdyZXNzX3ByaXZf dXNlcjE7CitDUkVBVEUgVEFCTEUgdDEgKAorICBjMSBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20g dGltZXN0YW1wLAorICB2YWxpZF90aWwgdGltZXN0YW1wLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0 ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorCUNPTlNUUkFJTlQgdDFwayBQUklNQVJZIEtFWSAo YzEsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworR1JBTlQgU0VMRUNUIE9OIHQxIFRP IHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFNFTEVDVCBPTiB0MSBUTyByZWdyZXNzX3ByaXZf dXNlcjM7CitHUkFOVCBTRUxFQ1QgT04gdDEgVE8gcmVncmVzc19wcml2X3VzZXI0OworR1JBTlQg U0VMRUNUIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNTsKK0dSQU5UIFVQREFURSAoYzEpIE9O IHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyMjsKK0dSQU5UIFVQREFURSAoYzEsIHZhbGlkX2F0KSBP TiB0MSBUTyByZWdyZXNzX3ByaXZfdXNlcjM7CitHUkFOVCBVUERBVEUgKGMxLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK0dSQU5UIFVQREFURSAo YzEsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgdmFsaWRfYXQpIE9OIHQxIFRPIHJlZ3Jlc3NfcHJp dl91c2VyNTsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIyOwor VVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRPICcy MDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElPTiBy ZWdyZXNzX3ByaXZfdXNlcjM7CitVUERBVEUgdDEgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAwMC0wMS0wMScgVE8gJzIwMDEtMDEtMDEnIFNFVCBjMSA9ICdbMiwzKSc7CitTRVQgU0VT U0lPTiBBVVRIT1JJWkFUSU9OIHJlZ3Jlc3NfcHJpdl91c2VyNDsKK1VQREFURSB0MSBGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDAwLTAxLTAxJyBUTyAnMjAwMS0wMS0wMScgU0VUIGMx ID0gJ1syLDMpJzsKK1NFVCBTRVNTSU9OIEFVVEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXI1 OworVVBEQVRFIHQxIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMDAtMDEtMDEnIFRP ICcyMDAxLTAxLTAxJyBTRVQgYzEgPSAnWzIsMyknOworU0VUIFNFU1NJT04gQVVUSE9SSVpBVElP TiByZWdyZXNzX3ByaXZfdXNlcjE7CitEUk9QIFRBQkxFIHQxOworCiAtLSB0ZXN0IGNvbHVtbi1s ZXZlbCBwcml2aWxlZ2VzIHdoZW4gaW52b2x2ZWQgd2l0aCBERUxFVEUKIFNFVCBTRVNTSU9OIEFV VEhPUklaQVRJT04gcmVncmVzc19wcml2X3VzZXIxOwogQUxURVIgVEFCTEUgYXRlc3Q2IEFERCBD T0xVTU4gdGhyZWUgaW50ZWdlcjsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3dp dGhvdXRfb3ZlcmxhcHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvd2l0aG91dF9vdmVybGFw cy5zcWwKaW5kZXggMjI0ZGRlZjg0MzAuLjE4ODA0MWUxZDA3IDEwMDY0NAotLS0gYS9zcmMvdGVz dC9yZWdyZXNzL3NxbC93aXRob3V0X292ZXJsYXBzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L3NxbC93aXRob3V0X292ZXJsYXBzLnNxbApAQCAtOTEsNiArOTEsMzEgQEAgQ1JFQVRFIFRBQkxF IHRlbXBvcmFsX3JuZzIgKAogU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBw Z19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcm5nMl9wayc7CiBTRUxFQ1Qg cGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hF UkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ybmcyX3BrJzsKIAorLS0gUEsgd2l0aCBvbmUgY29sdW1u IHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFs X3Blcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOwor XGQgdGVtcG9yYWxfcGVyCitTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lkKSBGUk9NIHBn X2NvbnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9wZXJfcGsnOworU0VMRUNUIHBn X2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJF IGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyX3BrJzsKKworLS0gUEsgd2l0aCB0d28gY29sdW1ucyBw bHVzIGEgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIgKAorICBpZDEgaW50NHJh bmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBk YXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlkMSwgaWQyLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjIKK1NFTEVDVCBwZ19nZXRf Y29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3Rl bXBvcmFsX3BlcjJfcGsnOworU0VMRUNUIHBnX2dldF9pbmRleGRlZihjb25pbmRpZCwgMCwgdHJ1 ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfcGVyMl9wayc7 CisKIC0tIFBLIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZToKIENSRUFURSBUWVBFIHRleHRyYW5n ZTIgQVMgcmFuZ2UgKHN1YnR5cGU9dGV4dCwgY29sbGF0aW9uPSJDIik7CiBDUkVBVEUgVEFCTEUg dGVtcG9yYWxfcm5nMyAoCkBAIC0xNjksNiArMTk0LDMzIEBAIFNFTEVDVCBwZ19nZXRfY29uc3Ry YWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFs X3JuCiBTRUxFQ1QgcGdfZ2V0X2luZGV4ZGVmKGNvbmluZGlkLCAwLCB0cnVlKSBGUk9NIHBnX2Nv bnN0cmFpbnQgV0hFUkUgY29ubmFtZSA9ICd0ZW1wb3JhbF9ybmczX3VxJzsKIERST1AgVEFCTEUg dGVtcG9yYWxfcm5nMzsKIAorLS0gVU5JUVVFIHdpdGggb25lIGNvbHVtbiBwbHVzIGEgUEVSSU9E OgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlk X2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZh bGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklR VUUgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjMK K1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVS RSBjb25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworU0VMRUNUIHBnX2dldF9pbmRleGRlZihj b25pbmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVt cG9yYWxfcGVyM191cSc7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CisKKy0tIFVOSVFVRSB3 aXRoIHR3byBjb2x1bW5zIHBsdXMgYSBQRVJJT0Q6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVy MyAoCisgIGlkMSBpbnQ0cmFuZ2UsCisgIGlkMiBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0 ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBVTklRVUUgKGlkMSwg aWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK1xkIHRlbXBvcmFsX3BlcjMKK1NF TEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZST00gcGdfY29uc3RyYWludCBXSEVSRSBj b25uYW1lID0gJ3RlbXBvcmFsX3BlcjNfdXEnOworU0VMRUNUIHBnX2dldF9pbmRleGRlZihjb25p bmRpZCwgMCwgdHJ1ZSkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9y YWxfcGVyM191cSc7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CisKIC0tIFVOSVFVRSB3aXRo IGEgY3VzdG9tIHJhbmdlIHR5cGU6CiBDUkVBVEUgVFlQRSB0ZXh0cmFuZ2UyIEFTIHJhbmdlIChz dWJ0eXBlPXRleHQsIGNvbGxhdGlvbj0iQyIpOwogQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3JuZzMg KApAQCAtMjQ1LDYgKzI5Nyw1OCBAQCBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMKICAgVU5JUVVFIChp ZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CiBEUk9QIFRBQkxFIHRlbXBvcmFsMzsKIAor LS0gUFJJTUFSWSBLRVkgd2l0aCBQRVJJT0QgYWxyZWFkeSB0aGVyZQorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90 aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQor KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsK KyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xkIHRlbXBv cmFsMworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CisKKy0tIFBSSU1BUlkgS0VZIHdpdGggUEVSSU9E IHRvbworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMwor ICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrCisgIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworCist LSBVTklRVUUgd2l0aCBQRVJJT0QgYWxyZWFkeSB0aGVyZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFs MyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0 ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsKK0FM VEVSIFRBQkxFIHRlbXBvcmFsMworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfdXEKKyAgVU5J UVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0ZW1wb3JhbDMKK0RST1Ag VEFCTEUgdGVtcG9yYWwzOworCistLSBVTklRVUUgd2l0aCBQRVJJT0QgdG9vCitDUkVBVEUgVEFC TEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbDNfdXEKKyAgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitcZCB0 ZW1wb3JhbDMKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworCiAtLQogLS0gcmFuZ2UgUEs6IHRlc3Qg d2l0aCBleGlzdGluZyByb3dzCiAtLQpAQCAtNjE1LDYgKzcxOSwyMTIgQEAgV0hFUkUgICBpZCA9 ICdbMSwyKScgQU5EIHZhbGlkX2F0IElTIE5VTEw7CiBTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX21s dHJuZzMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OwogRFJPUCBUQUJMRSB0ZW1wb3JhbF9tbHRybmcz OwogCistLQorLS0gUEVSSU9EIFBLOiB0ZXN0IHdpdGggZXhpc3Rpbmcgcm93cworLS0KKworQUxU RVIgVEFCTEUgdGVtcG9yYWxfcGVyIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGs7CisK Ky0tIG9rYXk6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAx OC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBOVUxM KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlciBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK0FMVEVSIFRB QkxFIHRlbXBvcmFsX3BlciBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrOworCistLSBz aG91bGQgZmFpbDoKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0w MS0wNScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfcGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitS T0xMQkFDSzsKKy0tIHJlamVjdHMgZW1wdHk6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9y YWxfcGVyIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdDsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIwLTAx LTAxJywgJzIwMjAtMDEtMDEnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyIEFERCBQRVJJ T0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworUk9MTEJBQ0s7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9wZXIgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIFBSSU1B UlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXI7CisKKy0tCistLSBQRVJJT0QgUEs6IHRlc3QgaW5zZXJ0cworLS0KKworLS0gb2th eToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAx JywgJzIwMTgtMDEtMDUnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwpOworCist LSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoTlVMTCwgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworLS0gcmVqZWN0cyBlbXB0 eToKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSBQRVJJT0Qg UEs6IHRlc3QgdXBkYXRlcworLS0KKworLS0gdXBkYXRlIHRoZSBzY2FsYXIgcGFydAorVVBEQVRF ICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgaWQgPSAnWzExLDEyKScKK1dIRVJFICAgaWQgPSAnWzEs MiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0ZSB0 aGUgUEVSSU9EIGJvdW5kcworVVBEQVRFICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgdmFsaWRfZnJv bSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjEtMDEtMDEnCitXSEVS RSAgIGlkID0gJ1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0 ZTsKKy0tIHVwZGF0ZSBib3RoIGF0IG9uY2UKK1VQREFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAg IGlkID0gJ1syMSwyMiknLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLAorICAg ICAgICB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMycKK1dIRVJFICAgaWQgPSAnWzExLDEyKScKK0FO RCAgICAgdmFsaWRfYXQgQD4gJzIwMjAtMDEtMTUnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9wZXIgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUg IHRlbXBvcmFsX3BlcgorU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAgICAgIHZhbGlkX2Zyb20g PSAnMjAxOC0wMy0wNScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4LTA1LTA1JworV0hFUkUg ICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCB0aGUgc2NhbGFyIHBhcnQgdG8gTlVMTAorVVBEQVRF ICB0ZW1wb3JhbF9wZXIKK1NFVCAgICAgaWQgPSBOVUxMLAorICAgICAgICB2YWxpZF9mcm9tID0g JzIwMTgtMDMtMDUnLAorICAgICAgICB2YWxpZF90aWwgPSAnMjAxOC0wNS0wNScKK1dIRVJFICAg aWQgPSAnWzIxLDIyKSc7CistLSBzZXQgYSBQRVJJT0QgYm91bmQgdG8gTlVMTCAob2theSkKK1VQ REFURSAgdGVtcG9yYWxfcGVyCitTRVQgICAgIGlkID0gJ1sxLDIpJywKKyAgICAgICAgdmFsaWRf ZnJvbSA9ICcyMDE4LTA0LTA0JywKKyAgICAgICAgdmFsaWRfdGlsID0gTlVMTAorV0hFUkUgICBp ZCA9ICdbMjEsMjIpJzsKKy0tIHJlamVjdHMgZW1wdHk6CitVUERBVEUgIHRlbXBvcmFsX3Blcgor U0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAx JywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjAtMDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxLDIp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIFBFUklPRCBVUTogdGVzdCB3aXRoIGV4aXN0aW5nIHJvd3MKKy0tCisKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9wZXIzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpCispOworCistLSBva2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcy MDE4LTAyLTAzJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1syLDMpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCkn LCAnMjAxOC0wMS0wMScsIE5VTEwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTIChOVUxMLCAnMjAxOC0wMS0wMScsICcyMDE4LTAx LTA1Jyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9wZXIzIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X3BlcjNfdXEgVU5JUVVFIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyk7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9wZXIzIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxOworCist LSBzaG91bGQgZmFpbDoKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIw MTgtMDEtMDUnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOwor Uk9MTEJBQ0s7CistLSByZWplY3RzIGVtcHR5OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBv cmFsX3BlcjMgRFJPUCBQRVJJT0QgRk9SIHZhbGlkX2F0OworICBJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMyw0KScsICcyMDIw LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQg UEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKTsKK1JPTExCQUNLOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfcGVyMyBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3Vx IFVOSVFVRSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpOworREVMRVRFIEZST00gdGVt cG9yYWxfcGVyMzsKKworLS0KKy0tIFBFUklPRCBVUTogdGVzdCBpbnNlcnRzCistLQorCistLSBv a2F5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAzJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQtMDQnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1syLDMpJywgJzIwMTgt MDEtMDEnLCAnMjAxOC0wMS0wNScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAxOC0wMS0wMScsIE5VTEwp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTIChOVUxMLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CisKKy0tIHNob3VsZCBm YWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAxLTA1Jyk7CistLSByZWpl Y3RzIGVtcHR5OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzMsNCknLCAnMjAyMC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQor LS0gUEVSSU9EIFVROiB0ZXN0IHVwZGF0ZXMKKy0tCisKKy0tIHVwZGF0ZSB0aGUgc2NhbGFyIHBh cnQKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMTEsMTIpJworV0hFUkUg ICBpZCA9ICdbMSwyKScKK0FORCAgICAgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOwor LS0gdXBkYXRlIHRoZSBQRVJJT0QgYm91bmRzCitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAg ICAgdmFsaWRfZnJvbSA9ICcyMDIwLTAxLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMjEt MDEtMDEnCitXSEVSRSAgIGlkID0gJ1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDE4 LTAxLTE1Jzo6ZGF0ZTsKKy0tIHVwZGF0ZSBib3RoIGF0IG9uY2UKK1VQREFURSAgdGVtcG9yYWxf cGVyMworU0VUICAgICBpZCA9ICdbMjEsMjIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4 LTAxLTAyJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDItMDMnCitXSEVSRSAgIGlkID0g J1sxMSwxMiknCitBTkQgICAgIHZhbGlkX2F0IEA+ICcyMDIwLTAxLTE1Jzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBzaG91bGQg ZmFpbDoKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9ICdbMSwyKScsCisgICAg ICAgIHZhbGlkX2Zyb20gPSAnMjAxOC0wMy0wNScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDE4 LTA1LTA1JworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCB0aGUgc2NhbGFyIHBhcnQg dG8gTlVMTCAob2theSkKK1VQREFURSAgdGVtcG9yYWxfcGVyMworU0VUICAgICBpZCA9IE5VTEws CisgICAgICAgIHZhbGlkX2Zyb20gPSAnMjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9 ICcyMDIxLTAxLTAxJworV0hFUkUgICBpZCA9ICdbMjEsMjIpJzsKKy0tIHNldCBhIFBFUklPRCBi b3VuZCB0byBOVUxMIChva2F5KQorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIGlkID0g J1sxLDIpJywKKyAgICAgICAgdmFsaWRfZnJvbSA9ICcyMDE4LTA0LTA0JywKKyAgICAgICAgdmFs aWRfdGlsID0gTlVMTAorV0hFUkUgICBpZCBJUyBOVUxMIEFORCB2YWxpZF9hdCBAPiAnMjAyMC0w Ni0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAgICAg dmFsaWRfZnJvbSA9ICcyMDE4LTAzLTAxJywKKyAgICAgICAgdmFsaWRfdGlsID0gJzIwMTgtMDUt MDUnCitXSEVSRSAgIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfdGlsIElTIE5VTEw7CistLSByZWpl Y3RzIGVtcHR5OgorVVBEQVRFICB0ZW1wb3JhbF9wZXIzCitTRVQgICAgIHZhbGlkX2Zyb20gPSAn MjAyMC0wMS0wMScsCisgICAgICAgIHZhbGlkX3RpbCA9ICcyMDIwLTAxLTAxJworV0hFUkUgICBp ZCA9ICdbMSwyKScgQU5EIHZhbGlkX3RpbCBJUyBOVUxMOworLS0gc3RpbGwgcmVqZWN0cyBlbXB0 eSB3aGVuIHNjYWxhciBwYXJ0IGlzIE5VTEw6CitVUERBVEUgIHRlbXBvcmFsX3BlcjMKK1NFVCAg ICAgaWQgPSBOVUxMLAorICAgICAgICB2YWxpZF9mcm9tID0gJzIwMjAtMDEtMDEnLAorICAgICAg ICB2YWxpZF90aWwgPSAnMjAyMC0wMS0wMScKK1dIRVJFICAgaWQgPSAnWzEsMiknIEFORCB2YWxp ZF90aWwgSVMgTlVMTDsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7CisKIC0tCiAtLSB0ZXN0IGEgcmFu Z2Ugd2l0aCBib3RoIGEgUEsgYW5kIGEgVU5JUVVFIGNvbnN0cmFpbnQKIC0tCkBAIC02NjIsNiAr OTcyLDM3IEBAIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgRFJP UCBOT1QgTlVMTDsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4gdmFsaWRfYXQg VFlQRSB0c3R6cmFuZ2UgVVNJTkcgdHN0enJhbmdlKGxvd2VyKHZhbGlkX2F0KSwgdXBwZXIodmFs aWRfYXQpKTsKIEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBSRU5BTUUgQ09MVU1OIHZhbGlkX2F0IFRP IHZhbGlkX3RocnU7CiBBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBDT0xVTU4gdmFsaWRfdGhy dTsKK1xkIHRlbXBvcmFsMworRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CisKK0NSRUFURSBUQUJMRSB0 ZW1wb3JhbDMgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRf dGlsIGRhdGUsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCks CisgIENPTlNUUkFJTlQgdGVtcG9yYWwzX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUykKKyk7CitcZCB0ZW1wb3JhbDMKK1NFTEVDVCBhdHRub3RudWxsIEZST00g cGdfYXR0cmlidXRlIFdIRVJFIGF0dHJlbGlkID0gJ3RlbXBvcmFsMyc6OnJlZ2NsYXNzIEFORCBh dHRuYW1lID0gJ3ZhbGlkX2F0JzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xVTU4g dmFsaWRfYXQgRFJPUCBOT1QgTlVMTDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBBTFRFUiBDT0xV TU4gdmFsaWRfYXQgVFlQRSB0c3R6cmFuZ2UgVVNJTkcgdHN0enJhbmdlKGxvd2VyKHZhbGlkX2F0 KSwgdXBwZXIodmFsaWRfYXQpKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2 YWxpZF9hdDsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQ7 CitcZCB0ZW1wb3JhbDMKK0RST1AgVEFCTEUgdGVtcG9yYWwzOworCistLSBTYW1lIHJlc3VsdHMg aWYgd2UgYWRkIHRoZSBQRVJJT0QgYW5kIFBLIGZyb20gQUxURVIgVEFCTEU6CitDUkVBVEUgVEFC TEUgdGVtcG9yYWwzICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZh bGlkX3RpbCBkYXRlCispOworQUxURVIgVEFCTEUgdGVtcG9yYWwzCisgIEFERCBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbDNfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKK1xk IHRlbXBvcmFsMworU0VMRUNUIGF0dG5vdG51bGwgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0 cmVsaWQgPSAndGVtcG9yYWwzJzo6cmVnY2xhc3MgQU5EIGF0dG5hbWUgPSAndmFsaWRfYXQnOwor QUxURVIgVEFCTEUgdGVtcG9yYWwzIEFMVEVSIENPTFVNTiB2YWxpZF9hdCBEUk9QIE5PVCBOVUxM OwogRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAKIC0tCkBAIC05NjMsNiArMTMwNCwxMjEgQEAgU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9tbHRybmczIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKIAogRFJP UCBUQUJMRSB0ZW1wb3JhbF9tbHRybmczOwogCistLQorLS0gT04gQ09ORkxJQ1Q6IFBFUklPRHMK Ky0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0wMS0wMScs ICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0w MS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgRE8gTk9USElORzsKKy0tIGlkIG1hdGNo ZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0w MScpIE9OIENPTkZMSUNUIERPIE5PVEhJTkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZs aWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1syLDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNU IERPIE5PVEhJTkc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsOworCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1sxLDIpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFs aWRfYXQpIERPIE5PVEhJTkc7CistLSBpZCBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlk X2F0KSBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlk X2F0KSBETyBOT1RISU5HOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb MSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBPTiBD T05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQg bm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAxJykgT04g Q09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8gTk9USElORzsKKy0tIGRh dGUgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcy MDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsgRE8g Tk9USElORzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyIE9SREVSIEJZIGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWw7CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAn MjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEs MiknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9h dCkgRE8gVVBEQVRFIFNFVCBpZCA9IEVYQ0xVREVELmlkICsgJ1syLDMpJzsKKy0tIGlkIG1hdGNo ZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0w MScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURF RC5pZCArICdbMyw0KSc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sy LDMpJywgJzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIChpZCwgdmFsaWRf YXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbNCw1KSc7CitTRUxFQ1QgKiBG Uk9NIHRlbXBvcmFsX3BlciBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCitU UlVOQ0FURSB0ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0w MS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDUtMDEtMDEnLCAn MjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyX3BrIERP IFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CistLSBpZCBtYXRjaGVzIGJ1 dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAxJywgJzIwMjAtMDEtMDEnKSBP TiBDT05GTElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUgU0VUIGlk ID0gRVhDTFVERUQuaWQgKyAnWzMsNCknOworLS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGlj dAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBP TiBDT05TVFJBSU5UIHRlbXBvcmFsX3Blcl9wayBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQu aWQgKyAnWzQsNSknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9wZXIgT1JERVIgQlkgaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbDsKKworLS0gd2l0aCBhIFVOSVFVRSBjb25zdHJhaW50OgorCitD UkVBVEUgVEFCTEUgdGVtcG9yYWxfcGVyMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJv bSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIFVOSVFVRSAo aWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworVFJVTkNBVEUgdGVtcG9yYWxfcGVy MzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAtMDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBh IGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBD T05GTElDVCBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAo J1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIERPIE5PVEhJ Tkc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1 LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCBETyBOT1RISU5HOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisK K1RSVU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIw MTAtMDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0w MScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsK Ky0tIGlkIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIz IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDEwLTAxLTAx JywgJzIwMjAtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBETyBOT1RISU5HOwor LS0gZGF0ZSBtYXRjaGVzIGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0w MScsICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgKGlkLCB2YWxpZF9hdCkgRE8gTk9USElORzsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBCWSBpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsOworCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIzOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwMC0w MS0wMScsICcyMDEwLTAxLTAxJyk7CistLSB3aXRoIGEgY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywg JzIwMDUtMDEtMDEnLCAnMjAwNi0wMS0wMScpIE9OIENPTkZMSUNUIE9OIENPTlNUUkFJTlQgdGVt cG9yYWxfcGVyM191cSBETyBOT1RISU5HOworLS0gaWQgbWF0Y2hlcyBidXQgbm8gY29uZmxpY3QK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScpIE9OIENPTkZMSUNUIE9O IENPTlNUUkFJTlQgdGVtcG9yYWxfcGVyM191cSBETyBOT1RISU5HOworLS0gZGF0ZSBtYXRjaGVz IGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzIsMyknLCAnMjAwNS0wMS0wMScsICcyMDA2LTAxLTAx JykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIE5PVEhJTkc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlcjMgT1JERVIgQlkgaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbDsKKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlcjMgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMDAt MDEtMDEnLCAnMjAxMC0wMS0wMScpOworLS0gd2l0aCBhIGNvbmZsaWN0CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScs ICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0KSBE TyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzIsMyknOworLS0gaWQgbWF0Y2hlcyBi dXQgbm8gY29uZmxpY3QKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjMgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTAtMDEtMDEnLCAnMjAyMC0wMS0wMScp IE9OIENPTkZMSUNUIChpZCwgdmFsaWRfYXQpIERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5p ZCArICdbMyw0KSc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNvbmZsaWN0CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMiwz KScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05GTElDVCAoaWQsIHZhbGlkX2F0 KSBETyBVUERBVEUgU0VUIGlkID0gRVhDTFVERUQuaWQgKyAnWzQsNSknOworU0VMRUNUICogRlJP TSB0ZW1wb3JhbF9wZXIzIE9SREVSIEJZIGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWw7CisKK1RS VU5DQVRFIHRlbXBvcmFsX3BlcjM7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbMSwyKScsICcyMDAwLTAxLTAxJywgJzIwMTAt MDEtMDEnKTsKKy0tIHdpdGggYSBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAwNS0wMS0wMScs ICcyMDA2LTAxLTAxJykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3Vx IERPIFVQREFURSBTRVQgaWQgPSBFWENMVURFRC5pZCArICdbMiwzKSc7CistLSBpZCBtYXRjaGVz IGJ1dCBubyBjb25mbGljdAorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMyAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzEsMiknLCAnMjAxMC0wMS0wMScsICcyMDIwLTAxLTAx JykgT04gQ09ORkxJQ1QgT04gQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXIzX3VxIERPIFVQREFURSBT RVQgaWQgPSBFWENMVURFRC5pZCArICdbMyw0KSc7CistLSBkYXRlIG1hdGNoZXMgYnV0IG5vIGNv bmZsaWN0CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIzIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbMiwzKScsICcyMDA1LTAxLTAxJywgJzIwMDYtMDEtMDEnKSBPTiBDT05G TElDVCBPTiBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjNfdXEgRE8gVVBEQVRFIFNFVCBpZCA9IEVY Q0xVREVELmlkICsgJ1s0LDUpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfcGVyMyBPUkRFUiBC WSBpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsOworCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlcjM7 CisKIC0tCiAtLSB0ZXN0IEZLIGRlcGVuZGVuY2llcwogLS0KQEAgLTk4Niw2ICsxNDQyLDI5IEBA IEFMVEVSIFRBQkxFIHRlbXBvcmFsMyBEUk9QIENPTFVNTiB2YWxpZF9hdCBDQVNDQURFOwogRFJP UCBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycm5nOwogRFJPUCBUQUJMRSB0ZW1wb3JhbDM7CiAKKy0t IGNhbid0IGRyb3AgYSBQRVJJT0QgcmVmZXJlbmNlZCBieSBhbiBGSywgdW5sZXNzIHdpdGggQ0FT Q0FERQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf ZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbDNfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsMyAoaWQsIFBFUklP RCB2YWxpZF9hdCkKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbDMgRFJPUCBQRVJJT0QgRk9SIHZh bGlkX2F0OworQUxURVIgVEFCTEUgdGVtcG9yYWwzIERST1AgUEVSSU9EIEZPUiB2YWxpZF9hdCBD QVNDQURFOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyOworRFJPUCBUQUJMRSB0ZW1w b3JhbDM7CisKIC0tCiAtLSB0ZXN0IEZPUkVJR04gS0VZLCByYW5nZSByZWZlcmVuY2VzIHJhbmdl CiAtLQpAQCAtMTAxNiw2ICsxNDk1LDcgQEAgQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJy bmcgKAogICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQogICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nIChp ZCwgUEVSSU9EIHZhbGlkX2F0KQogKTsKK1xkIHRlbXBvcmFsX2ZrX3JuZzJybmcKIERST1AgVEFC TEUgdGVtcG9yYWxfZmtfcm5nMnJuZzsKIAogLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1 bW5zOgpAQCAtMjU2Nyw0NyArMzA0NywyNTU1IEBAIElOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9t bHRybmcybWx0cm5nIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBCiBE RUxFVEUgRlJPTSB0ZW1wb3JhbF9tbHRybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKIFNFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX21s dHJuZzJtbHRybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDEpJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CiAKLS0tIEZLIHdpdGggYSBjdXN0b20gcmFuZ2UgdHlwZQorLS0KKy0tIHRlc3QgRk9SRUlHTiBL RVksIFBFUklPRCByZWZlcmVuY2VzIFBFUklPRAorLS0KIAotQ1JFQVRFIFRZUEUgbXlkYXRlcmFu Z2UgQVMgcmFuZ2Uoc3VidHlwZT1kYXRlKTsKKy0tIHRlc3QgdGFibGUgc2V0dXAKK0RST1AgVEFC TEUgdGVtcG9yYWxfcGVyOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlciAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBv cmFsX3BlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsKKyAgUFJJTUFSWSBLRVkg KGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKIAotQ1JFQVRFIFRBQkxFIHRlbXBvcmFs X3JuZzMgKAorLS0gQ2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBhIG1pc21hdGNoZWQgcmFuZ2UgdHlw ZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAogICBpZCBpbnQ0cmFuZ2UsCi0g IHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAotICBDT05TVFJBSU5UIHRlbXBvcmFsX3JuZzNfcGsgUFJJ TUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorICB2YWxpZF9mcm9tIGlu dCwKKyAgdmFsaWRfdGlsIGludCwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlk LCBQRVJJT0QgdmFsaWRfYXQpCiApOwotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrM19ybmcycm5n ICgKKworLS0gd29ya3M6IFBFUklPRCBmb3IgYm90aCByZWZlcmVuY2VkIGFuZCByZWZlcmVuY2lu ZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKAogICBpZCBpbnQ0cmFuZ2UsCi0g IHZhbGlkX2F0IG15ZGF0ZXJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBk YXRlLAogICBwYXJlbnRfaWQgaW50NHJhbmdlLAotICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrM19y bmcycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCi0g IENPTlNUUkFJTlQgdGVtcG9yYWxfZmszX3JuZzJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgUEVSSU9EIHZhbGlkX2F0KQotICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMyAoaWQsIFBF UklPRCB2YWxpZF9hdCkgT04gREVMRVRFIENBU0NBREUKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVy X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFs aWRfYXQpCiApOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbOCw5KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKSk7Ci1J TlNFUlQgSU5UTyB0ZW1wb3JhbF9mazNfcm5nMnJuZyAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1s1LDYpJywgbXlkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScp LCAnWzgsOSknKTsKLURFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzMgRk9SIFBPUlRJT04gT0YgdmFs aWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkp JzsKLVNFTEVDVCAqIEZST00gdGVtcG9yYWxfZmszX3JuZzJybmcgV0hFUkUgaWQgPSAnWzUsNikn OworXGQgdGVtcG9yYWxfZmtfcGVyMnBlcgogCi1EUk9QIFRBQkxFIHRlbXBvcmFsX2ZrM19ybmcy cm5nOwotRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOwotRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOwor RFJPUCBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyOwogCi0tLQotLS0gRksgYmV0d2VlbiBwYXJ0 aXRpb25lZCB0YWJsZXM6IHJhbmdlcwotLS0KKy0tIHdpdGggbWlzbWF0Y2hlZCBQRVJJT0QgY29s dW1uczoKIAotQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCistLSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIFJF RkVSRU5DRVMgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3Jh bF9ma19wZXIycGVyICgKICAgaWQgaW50NHJhbmdlLAotICB2YWxpZF9hdCBkYXRlcmFuZ2UsCi0g IG5hbWUgdGV4dCwKLSAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCi0pIFBBUlRJVElPTiBCWSBM SVNUIChpZCk7Ci1DUkVBVEUgVEFCTEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRp b25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgp JywgJ1s5LDEwKScsICdbMTEsMTIpJywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywg J1sxOSwyMCknLCAnWzIxLDIyKScsICdbMjMsMjQpJyk7Ci1DUkVBVEUgVEFCTEUgdHAyIFBBUlRJ VElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9ybmcgRk9SIFZBTFVFUyBJTiAoJ1swLDEpJywg J1syLDMpJywgJ1s0LDUpJywgJ1s2LDcpJywgJ1s4LDkpJywgJ1sxMCwxMSknLCAnWzEyLDEzKScs ICdbMTQsMTUpJywgJ1sxNiwxNyknLCAnWzE4LDE5KScsICdbMjAsMjEpJywgJ1syMiwyMyknLCAn WzI0LDI1KScpOwotSU5TRVJUIElOVE8gdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIChpZCwgdmFs aWRfYXQsIG5hbWUpIFZBTFVFUwotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAxLTAxJywg JzIwMDAtMDItMDEnKSwgJ29uZScpLAotICAoJ1sxLDIpJywgZGF0ZXJhbmdlKCcyMDAwLTAyLTAx JywgJzIwMDAtMDMtMDEnKSwgJ29uZScpLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2 YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQor KTsKKy0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCist LSBib3RoIHNob3VsZCBzcGVjaWZ5IFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19w ZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3Rp bCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2 YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJf cGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlk X2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfYXQpCispOworLS0g KHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCist LSBGT1JFSUdOIEtFWSBwYXJ0IHNob3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwK KyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1Ig dmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmtfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0Qg dmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxp Y2l0XQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9t IGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJ T0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOwor LS0gKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCkKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9t IGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJ T0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9W RVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3Bl ciAoaWQpCispOworLS0gKHBhcmVudF9pZCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9h dCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAor ICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJh bmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2Zr IEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlk LCBQRVJJT0QgdmFsaWRfYXQpCispOworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJl bmNlZCB0YWJsZToKKy0tIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBb aW1wbGljaXRdCitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRy YW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lk IGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGls KSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVy MnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXI7 CistLSAocGFyZW50X2lkKSBSRUZFUkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CisKKy0tIHNob3VsZCBmYWlsIGJl Y2F1c2Ugb2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQsIFBFUklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQ RVJJT0QgaWQpCispOworCistLSBUd28gc2NhbGFyIGNvbHVtbnMKK0RST1AgVEFCTEUgdGVtcG9y YWxfcGVyMjsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wZXIyICgKKyAgaWQxIGludDRyYW5nZSwK KyAgaWQyIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9wZXIyX3BrIFBSSU1BUlkgS0VZIChpZDEsIGlkMiwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUykKKyk7CisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlciAo CisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwK KyAgcGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBQRVJJ T0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsgRk9SRUlHTiBL RVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpCispOworXGQgdGVt cG9yYWxfZmsyX3BlcjJwZXIKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CisKKy0t CistLSB0ZXN0IEFMVEVSIFRBQkxFIEFERCBDT05TVFJBSU5UCistLQorCitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBkYXRl LAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9EIEZP UiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQ UykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2YWxpZF9h dCk7CistLSBUd28gc2NhbGFyIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3Bl cjJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGls IGRhdGUsCisgIHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwK KyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJ VEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KTsKK1xkIHRlbXBvcmFsX2ZrMl9w ZXIycGVyCisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhlIHJlZmVyZW5jZWQgdGFibGUsIGFu ZCB3cm9uZyBjb2x1bW4gdHlwZToKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmssCisgIERST1AgUEVSSU9EIEZP UiB2YWxpZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSB0aW1lc3RhbXAsCisg IEFMVEVSIENPTFVNTiB2YWxpZF90aWwgVFlQRSB0aW1lc3RhbXAsCisgIEFERCBQRVJJT0QgRk9S IHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpOworQUxURVIgVEFCTEUgdGVtcG9yYWxf ZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9wZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgUEVSSU9E IEZPUiB2YWxpZF9hdCwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX2Zyb20gVFlQRSBkYXRlLAorICBB TFRFUiBDT0xVTU4gdmFsaWRfdGlsIFRZUEUgZGF0ZSwKKyAgQUREIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCk7CisKKy0tIHdpdGggaW5mZXJyZWQgUEsgb24gdGhl IHJlZmVyZW5jZWQgdGFibGU6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKworLS0g c2hvdWxkIGZhaWwgYmVjYXVzZSBvZiBkdXBsaWNhdGUgcmVmZXJlbmNlZCBjb2x1bW5zOgorQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycGVyX2ZrMgorICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgcGFyZW50X2lk KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCBpZCk7CisKKy0tCistLSB0 ZXN0IHdpdGggcm93cyBhbHJlYWR5CistLQorCitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ma19wZXIy cGVyOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAx LTAyJywgJzIwMTgtMDItMDMnKSwKKyAgKCdbMSwyKScsICcyMDE4LTAzLTAzJywgJzIwMTgtMDQt MDQnKSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDEtMDUnKSwKKyAgKCdbMyw0 KScsICcyMDE4LTAxLTAxJywgTlVMTCk7CisKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJw ZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZms7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMScsICdbMSwyKScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxp ZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAn WzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBl cgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7 CistLSBva2F5IGFnYWluOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FMVEVS IFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisg IFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworCistLQorLS0gdGVzdCBwZ19nZXRfY29uc3RyYWlu dGRlZgorLS0KKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCkgRlJPTSBwZ19jb25z dHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfZmtfcGVyMnBlcl9mayc7CisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jaW5nIGluc2VydHMKKy0tCisKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyk7CistLSBzaG91 bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcy MDE4LTA0LTAxJywgJ1sxLDIpJyk7CistLSBub3cgaXQgc2hvdWxkIHdvcms6CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIp JywgJzIwMTgtMDItMDMnLCAnMjAxOC0wMy0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb MiwzKScsICcyMDE4LTAxLTAyJywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNpbmcgdXBkYXRlcworLS0KKworLS0gc2xpZGUgdGhlIGVkZ2UgYWNyb3Nz IGEgcmVmZXJlbmNlZCB0cmFuc2l0aW9uOgorVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgU0VU IHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMicsIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTIwJyBXSEVS RSBpZCA9ICdbMSwyKSc7CistLSBzaG91bGQgZmFpbDoKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIy cGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0wNS0w MScgV0hFUkUgaWQgPSAnWzEsMiknOworVVBEQVRFIHRlbXBvcmFsX2ZrX3BlcjJwZXIgU0VUIHBh cmVudF9pZCA9ICdbOCw5KScgV0hFUkUgaWQgPSAnWzEsMiknOworCistLSBBTFRFUiBGSyBERUZF UlJBQkxFCisKK0JFR0lOOworICBJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAgICgnWzUsNiknLCAnMjAxOC0wMS0wMScsICcyMDE4 LTAyLTAxJyksCisgICAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKKyAg SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCwgcGFyZW50X2lkKSBWQUxVRVMKKyAgICAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0w MS0xMCcsICdbNSw2KScpOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgICAg QUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgREVGRVJSQUJMRSBJ TklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlk ID0gJ1s1LDYpJzsgLS1zaG91bGQgbm90IGZhaWwgeWV0LgorQ09NTUlUOyAtLSBzaG91bGQgZmFp bCBoZXJlLgorCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgTk8gQUNUSU9OCist LQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3BlcjJwZXI7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycGVyX2ZrOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBREQgQ09OU1RS QUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBF UklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyAgT04gVVBEQVRFIE5P IEFDVElPTjsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgYmVjYXVzZSB0aGUgbnVtZXJp YyBpZCBpc24ndCByZWZlcmVuY2VkOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgt MDItMDEnKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0w MScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJyBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBL IHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVy ZW5jZWQgYmVjYXVzZSB0aGUgcmFuZ2UgaXNuJ3Q6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIg V0hFUkUgaWQgPSAnWzUsNiknOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdbNSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgt MDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAyLTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBh cmVudF9pZCkgVkFMVUVTCisgICgnWzMsNCknLCAnMjAxOC0wMS0wNScsICcyMDE4LTAxLTEwJywg J1s1LDYpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDIt MDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMy0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFs aWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnOworLS0g QSBQSyB1cGRhdGUgc2xpZGluZyB0aGUgZWRnZSBiZXR3ZWVuIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUworICAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s2LDcp JywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMKKyAg KCdbNCw1KScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMTUnLCAnWzYsNyknKTsKK1VQREFURSB0 ZW1wb3JhbF9wZXIKK1NFVCB2YWxpZF9mcm9tID0gQ0FTRSBXSEVOIHZhbGlkX2Zyb20gPSAnMjAx OC0wMS0wMScgVEhFTiAnMjAxOC0wMS0wMScKKyAgICAgICAgICAgICAgICAgICAgICBXSEVOIHZh bGlkX2Zyb20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMS0wNScgRU5EOjpkYXRlLAorICAg IHZhbGlkX3RpbCA9ICBDQVNFIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBUSEVOICcy MDE4LTAxLTA1JworICAgICAgICAgICAgICAgICAgICAgIFdIRU4gdmFsaWRfZnJvbSA9ICcyMDE4 LTAyLTAxJyBUSEVOICcyMDE4LTAzLTAxJyBFTkQ6OmRhdGUKK1dIRVJFIGlkID0gJ1s2LDcpJzsK Ky0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBidXQgc3RpbGwg dmFsaWQ6CistLSBUaGVyZSBhcmUgdHdvIHJlZmVyZW5jZXM6IG9uZSBmdWxmaWxsZWQgYnkgdGhl IGZpcnN0IHBrIHJvdywKKy0tIHRoZSBvdGhlciBmdWxmaWxsZWQgYnkgYm90aCBwayByb3dzIGNv bWJpbmVkLgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDMtMDEnKSwKKyAg KCdbMSwyKScsICcyMDE4LTAzLTAxJywgJzIwMTgtMDYtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFM VUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0xNScsICcyMDE4LTAyLTAxJywgJ1sxLDIpJyksCisg ICgnWzIsMyknLCAnMjAxOC0wMS0xNScsICcyMDE4LTA1LTAxJywgJ1sxLDIpJyk7CitVUERBVEUg dGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90aWwgPSAn MjAxOC0wMy0wMScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEt MTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgZ3Jvd2luZyB0aGUgcmVmZXJlbmNlZCByYW5nZSBp cyBmaW5lOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAx JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlk X2F0IEA+ICcyMDE4LTAxLTI1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIHNocmlua2luZyB0aGUg cmVmZXJlbmNlZCByYW5nZSBhbmQgY2hhbmdpbmcgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9s ZSByYW5nZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJywgdmFsaWRfZnJv bSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgtMDMtMDEnCitXSEVSRSBpZCA9ICdb MSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsgdXBkYXRl IGNoYW5naW5nIG9ubHkgdGhlIGlkIGludmFsaWRhdGVzIHRoZSB3aG9sZSByYW5nZToKK1VQREFU RSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1syLDMpJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2 YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGxvc2Vz IHRpbWUgZnJvbSBib3RoIGVuZHMsIGJ1dCBpcyBzdGlsbCB2YWxpZDoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzIsMykn LCAnMjAxOC0wMS0wMScsICcyMDE4LTAzLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19w ZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUworICAo J1s1LDYpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMiwzKScpOworVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIw MTgtMDItMTUnCitXSEVSRSBpZCA9ICdbMiwzKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxz IGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZDoKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZh bGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJworV0hFUkUg aWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwg PSAnMjAxOC0wMi0wMSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBh cmUgcmVmZXJlbmNlZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19w ZXIycGVyX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0g JzIwMTYtMDItMDEnCisgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFu Z2UoJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gY2hhbmdpbmcgdGhl IHNjYWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCkn CitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZh bGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0 IGlzIG9rYXk6CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE4LTAxLTAyJyBUTyAnMjAxOC0wMS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJF IGlkID0gJ1s1LDYpJzsKKy0tIGNoYW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRl bXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8g JzIwMTgtMDEtMTAnCitTRVQgaWQgPSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxF Q1QgKiBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdI RVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0 ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRz OgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitV UERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90 aWwgPSAnMjAxNi0wMi0wMScKK1dIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcy MDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDItMDEnOworCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3Bl ciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIK KyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZms7CitBTFRFUiBUQUJMRSB0 ZW1wb3JhbF9ma19wZXIycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJf ZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVO Q0VTIHRlbXBvcmFsX3BlcgorICBPTiBVUERBVEUgUkVTVFJJQ1Q7CisKKy0tCistLSB0ZXN0IEZL IHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3Bl ciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIK KyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOwor LS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlzbid0 IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOwor REVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsgZGVs ZXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJlbmNl ZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzUsNiknLCAnMjAxOC0wMS0wMScs ICcyMDE4LTAyLTAxJyksCisgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1szLDQpJywgJzIwMTgtMDEtMDUnLCAnMjAxOC0wMS0x MCcsICdbNSw2KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s1LDYp JyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDMt MDEnOworLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5j ZWQ6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxp ZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CistLSBh IFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5v dCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycGVy CisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgREVGRVJS QUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdI RVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEtMDEnLCAn MjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQg aXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRf YXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdbNSw2KSc7 CistLSBkZWxldGluZyBqdXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEt MTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3BlciBXSEVS RSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkIGluICgnWzMsNCknKSBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJlY29yZCBh bmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hF UkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90 aWwgPSAnMjAxOC0wMi0wMSc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBS RVNUUklDVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVy OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJwZXIKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9O IERFTEVURSBSRVNUUklDVDsKKworLS0KKy0tIHBlcjJwZXIgdGVzdCBPTiBVUERBVEUvREVMRVRF IG9wdGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgTlVM TAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVwZGF0ZXMg U0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0gcmVmZXJl bmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVs ZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VU IE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAo dHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2Nh bGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVG QVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxU ICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3 byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1w b3JhbF9ma19wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisg ICAgT04gREVMRVRFIENBU0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUg aWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlk ID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5 KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr X3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgn WzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZh bGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tCisKK1RSVU5DQVRF IHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBi b3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlk X2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0w MS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUg aWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQg TlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19wZXIycGVyOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkg VkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnBl cl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERFTEVURSBTRVQgTlVMTCBPTiBVUERBVEUg U0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9w ZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEt MDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9 ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19w ZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g RksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIg KGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEn LCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTAp JyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBOVUxMCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3Bl cjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlciBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAy MC0wMS0wMScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19w ZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0g bm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdb OCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVM RVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdI RVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQKKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3BlciwgdGVtcG9yYWxfZmtfcGVyMnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsIG51bGwsIG51bGwp OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBW QUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3 KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnBlcgorICBBTFRFUiBDT0xVTU4gcGFy ZW50X2lkIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJwZXJfZmsK KyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNF VCBERUZBVUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxf cGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAx LTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmtfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQg PSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtf cGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0t IEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAx JywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIw MjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s5LDEw KScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVs ZXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9m a19wZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnBl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEw MF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMg b24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUg RlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIw MTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIw MjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJwZXIgKGlkLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEt MDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdI RVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JE RVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMg Q0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyMiwg dGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlk MiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVy IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxV RVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2 LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr Ml9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBF UklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxF VEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FERTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVz OgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAx OS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERB VEUgdGVtcG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dz OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAx Jyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAn MjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVt cG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFs aWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29s cykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVyOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9u IGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZh bGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRF IEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0 ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2 YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJl bnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcy MDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIy IFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBk YXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxf cGVyMiwgdGVtcG9yYWxfZmsyX3BlcjJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChp ZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScs ICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9w ZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQy KSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcp JywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnBlcgorICBEUk9QIENP TlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9p ZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBP TiBERUxFVEUgU0VUIE5VTEwgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gbGVmdG92ZXJzIG9uIGJv dGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBG Uk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUg aWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUg aWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0 ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sx MDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVu Y2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJv bSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIw MjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9m cm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAn MjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAs MjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQ REFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSkn IEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBz Y2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9w ZXIycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVm dG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JU SU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBp ZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBp ZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRl OgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkg VkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGls KSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJzZXQp CistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2Ug eW91IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr Ml9wZXIycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAg QUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAo cGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFsaWRfYXQpIE9OIFVQREFU RSBTRVQgTlVMTDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAg RFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlO VCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBw YXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIy CisgICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7 CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIg Rk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEn IFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVy IFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQ TyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJv d3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScs ICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVS RSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQor CitUUlVOQ0FURSB0ZW1wb3JhbF9wZXIyLCB0ZW1wb3JhbF9mazJfcGVyMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVF UyAoJ1stMSwtMV0nLCAnWy0xLC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwg cGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0w MScsICdbNiw3KScsICdbNiw3KScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIK KyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBBTFRF UiBDT0xVTU4gcGFyZW50X2lkMiBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3BlcjJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERF TEVURSBTRVQgREVGQVVMVCBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24g Ym90aCBzaWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0 IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJywgaWQy ID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4 KScsIGlkMiA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3BlcjJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9mazJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50 X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAy MS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlk MSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9w ZXIycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIg Y29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVy OworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlk X3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVsbCk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxV RVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3BlcjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUg aWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNU ICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNF VCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZBVUxUIHN1YnNldCkKKy0tCisKK1RS VU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9wZXIycGVyOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgn Wy0xLC0xXScsICdbNiw3KScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVy MiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYs NyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfcGVyMnBlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50 X2lkMikgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdb Niw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJ T0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJwZXIKKyAgQUxURVIgQ09M VU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQg dGVtcG9yYWxfZmsyX3BlcjJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9w ZXIycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklP RCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUg U0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBvazoKK0FM VEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycGVyCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQx IFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9w ZXIycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnBlcl9maworICAg IEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisg ICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIChw YXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQg RlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9wZXIycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkp JywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0x LC0xXScsICdbOCw5KScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3Bl cjJwZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIp IFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSkn LCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9mazJfcGVyMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxp ZF9hdDsKKworLS0KKy0tIHRlc3QgRk9SRUlHTiBLRVksIHJhbmdlIHJlZmVyZW5jZXMgUEVSSU9E CistLQorCistLSB0ZXN0IHRhYmxlIHNldHVwCitEUk9QIFRBQkxFIHRlbXBvcmFsX3BlciBDQVND QURFOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFs aWRfZnJvbSBkYXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAo dmFsaWRfZnJvbSwgdmFsaWRfdGlsKQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3BlcgorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9wZXJfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9h dCBXSVRIT1VUIE9WRVJMQVBTKTsKKworLS0gQ2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBhIG1pc21h dGNoZWQgcmFuZ2UgdHlwZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBp ZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGludDRyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5n ZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwg dmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5n MnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVG RVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworCistLSB3b3Jr czogUEVSSU9EIGZvciByZWZlcmVuY2VkLCByYW5nZSBmb3IgcmVmZXJlbmNpbmcKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBk YXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf Zmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwg UEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrX3JuZzJwZXIKK0RST1AgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlcjsKKworLS0gd2l0aCBtaXNtYXRjaGVkIFBFUklPRCBjb2x1bW5z OgorCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2YWxp ZF9hdCkKKy0tIFJFRkVSRU5DRVMgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBk YXRlcmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf Zmtfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVu dF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkLCB2 YWxpZF9hdCkKKy0tIGJvdGggc2hvdWxkIHNwZWNpZnkgUEVSSU9EOgorQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5n ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcy cGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2F0KQorKTsK Ky0tIChwYXJlbnRfaWQsIHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgUEVSSU9EIHZhbGlkX2F0 KQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRl cmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFs aWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0 XQorLS0gRk9SRUlHTiBLRVkgcGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJM RSB0ZW1wb3JhbF9ma19ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRl cmFuZ2UsCisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtf cm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAor ICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9p ZCwgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIKKyk7CistLSAocGFyZW50 X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJFRkVSRU5DRVMgKGlkKQorQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwK KyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVy X3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJ T0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkKQorKTsKKy0tIChw YXJlbnRfaWQpIFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJh bmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOwor LS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKKy0tIChwYXJlbnRf aWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfYXQgZGF0ZXJh bmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorKTsKK0RST1Ag VEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcjsKKy0tIChwYXJlbnRfaWQpIFJFRkVSRU5DRVMgW2lt cGxpY2l0XQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09O U1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQg V0lUSE9VVCBPVkVSTEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mayBG T1JFSUdOIEtFWSAocGFyZW50X2lkKQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCispOwor CistLSBzaG91bGQgZmFpbCBiZWNhdXNlIG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6 CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlciAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfYXQgZGF0ZXJhbmdlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBDT05TVFJBSU5U IHRlbXBvcmFsX2ZrX3JuZzJwZXJfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VU IE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrIEZPUkVJR04g S0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9wZXIgKGlkLCBQRVJJT0QgaWQpCispOworCistLSBUd28gc2NhbGFyIGNvbHVtbnMKK0RST1Ag VEFCTEUgdGVtcG9yYWxfcGVyMiBDQVNDQURFOworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX3BlcjIg KAorICBpZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUs CisgIHZhbGlkX3RpbCBkYXRlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX3BlcjJfcGsgUFJJTUFSWSBLRVkgKGlk MSwgaWQyLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsKKworQ1JFQVRFIFRBQkxFIHRl bXBvcmFsX2ZrMl9ybmcycGVyICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBkYXRlcmFu Z2UsCisgIHBhcmVudF9pZDEgaW50NHJhbmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAg Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlk X2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVy X2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0 KQorKTsKK1xkIHRlbXBvcmFsX2ZrMl9ybmcycGVyCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrMl9y bmcycGVyOworCistLQorLS0gdGVzdCBBTFRFUiBUQUJMRSBBREQgQ09OU1RSQUlOVAorLS0KKwor Q1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZh bGlkX2F0IGRhdGVyYW5nZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBP VkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05T VFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwg UEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlciAoaWQsIFBFUklPRCB2 YWxpZF9hdCk7CistLSBUd28gc2NhbGFyIGNvbHVtbnM6CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxf ZmsyX3JuZzJwZXIgKAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZSwKKyAg cGFyZW50X2lkMSBpbnQ0cmFuZ2UsCisgIHBhcmVudF9pZDIgaW50NHJhbmdlLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lU SE9VVCBPVkVSTEFQUykKKyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBv cmFsX3BlcjIgKGlkMSwgaWQyLCBQRVJJT0QgdmFsaWRfYXQpOworXGQgdGVtcG9yYWxfZmsyX3Ju ZzJwZXIKKworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZSwgYW5k IHdyb25nIGNvbHVtbiB0eXBlOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBE Uk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maywKKyAgQUxURVIgQ09MVU1OIHZh bGlkX2F0IFRZUEUgdHNyYW5nZSBVU0lORyB0c3JhbmdlKGxvd2VyKHZhbGlkX2F0KSwgdXBwZXIo dmFsaWRfYXQpKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gdmFsaWRfYXQgVFlQRSBkYXRlcmFu Z2UgVVNJTkcgZGF0ZXJhbmdlKGxvd2VyKHZhbGlkX2F0KTo6ZGF0ZSwgdXBwZXIodmFsaWRfYXQp OjpkYXRlKTsKKworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyOworCistLSBzaG91bGQgZmFpbCBiZWNhdXNl IG9mIGR1cGxpY2F0ZSByZWZlcmVuY2VkIGNvbHVtbnM6CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9m a19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsyCisgIEZP UkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyIChpZCwgUEVSSU9EIGlkKTsKKworLS0KKy0tIHRlc3Qgd2l0aCByb3dzIGFscmVh ZHkKKy0tCisKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitERUxFVEUgRlJPTSB0 ZW1wb3JhbF9wZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUworICAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAxOC0wMi0wMycp LAorICAoJ1sxLDIpJywgJzIwMTgtMDMtMDMnLCAnMjAxOC0wNC0wNCcpLAorICAoJ1syLDMpJywg JzIwMTgtMDEtMDEnLCAnMjAxOC0wMS0wNScpLAorICAoJ1szLDQpJywgJzIwMTgtMDEtMDEnLCBO VUxMKTsKKworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJw ZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMSwyKScsICdbMjAxOC0wMS0w MiwyMDE4LTAyLTAxKScsICdbMSwyKScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBl cgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXI7 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19ybmcycGVyX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQs IHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4LTAxLTAyLDIwMTgt MDQtMDEpJywgJ1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyOworLS0gb2theSBhZ2FpbjoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJw ZXI7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZh bGlkX2F0KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcjsKKworLS0KKy0tIHRlc3QgcGdfZ2V0 X2NvbnN0cmFpbnRkZWYKKy0tCisKK1NFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpIEZS T00gcGdfY29uc3RyYWludCBXSEVSRSBjb25uYW1lID0gJ3RlbXBvcmFsX2ZrX3JuZzJwZXJfZmsn OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2luZyBpbnNlcnRzCistLQorCitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgn WzEsMiknLCAnWzIwMTgtMDEtMDIsMjAxOC0wMi0wMSknLCAnWzEsMiknKTsKKy0tIHNob3VsZCBm YWlsOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJl bnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDQtMDEpJywgJ1sxLDIp Jyk7CistLSBub3cgaXQgc2hvdWxkIHdvcms6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDItMDMnLCAn MjAxOC0wMy0wMycpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlk X2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syLDMpJywgJ1syMDE4LTAxLTAyLDIwMTgtMDQtMDEp JywgJ1sxLDIpJyk7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCisK Ky0tIHNsaWRlIHRoZSBlZGdlIGFjcm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFU RSB0ZW1wb3JhbF9ma19ybmcycGVyIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMiwyMDE4LTAy LTIwKScgV0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgdGVtcG9y YWxfZmtfcm5nMnBlciBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDIsMjAxOC0wNS0wMSknIFdI RVJFIGlkID0gJ1sxLDIpJzsKK1VQREFURSB0ZW1wb3JhbF9ma19ybmcycGVyIFNFVCBwYXJlbnRf aWQgPSAnWzgsOSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gQUxURVIgRksgREVGRVJSQUJM RQorCitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMKKyAgICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0w MScpLAorICAgICgnWzUsNiknLCAnMjAxOC0wMi0wMScsICcyMDE4LTAzLTAxJyk7CisgIElOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxV RVMKKyAgICAoJ1szLDQpJywgJ1syMDE4LTAxLTA1LDIwMTgtMDEtMTApJywgJ1s1LDYpJyk7Cisg IEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBERUZFUlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsK KworICBERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknOyAtLXNob3Vs ZCBub3QgZmFpbCB5ZXQuCitDT01NSVQ7IC0tIHNob3VsZCBmYWlsIGhlcmUuCisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZms7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICBPTiBVUERBVEUgTk8gQUNUSU9OOworLS0gYSBQSyB1 cGRhdGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlzbid0IHJlZmVyZW5j ZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworVVBEQVRFIHRl bXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAxLTAxJywgdmFsaWRfdGlsID0gJzIw MTYtMDItMDEnIFdIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2Vl ZHMgZXZlbiB0aG91Z2ggdGhlIG51bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSBy YW5nZSBpc24ndDoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNSw2KSc7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZB TFVFUworICAoJ1s1LDYpJywgJzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpLAorICAoJ1s1LDYp JywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1szLDQpJywgJ1sy MDE4LTAxLTA1LDIwMTgtMDEtMTApJywgJ1s1LDYpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNF VCB2YWxpZF9mcm9tID0gJzIwMTYtMDItMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMy0wMScKK1dI RVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRf dGlsID0gJzIwMTgtMDMtMDEnOworLS0gQSBQSyB1cGRhdGUgc2xpZGluZyB0aGUgZWRnZSBiZXR3 ZWVuIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2 YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAn MjAxOC0wMi0wMScpLAorICAoJ1s2LDcpJywgJzIwMTgtMDItMDEnLCAnMjAxOC0wMy0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQp IFZBTFVFUworICAoJ1s0LDUpJywgJ1syMDE4LTAxLTE1LDIwMTgtMDItMTUpJywgJ1s2LDcpJyk7 CitVUERBVEUgdGVtcG9yYWxfcGVyCitTRVQgdmFsaWRfZnJvbSA9IENBU0UgV0hFTiB2YWxpZF9m cm9tID0gJzIwMTgtMDEtMDEnIFRIRU4gJzIwMTgtMDEtMDEnCisgICAgICAgICAgICAgICAgICAg ICAgV0hFTiB2YWxpZF9mcm9tID0gJzIwMTgtMDItMDEnIFRIRU4gJzIwMTgtMDEtMDUnIEVORDo6 ZGF0ZSwKKyAgICB2YWxpZF90aWwgPSAgQ0FTRSBXSEVOIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0w MScgVEhFTiAnMjAxOC0wMS0wNScKKyAgICAgICAgICAgICAgICAgICAgICBXSEVOIHZhbGlkX2Zy b20gPSAnMjAxOC0wMi0wMScgVEhFTiAnMjAxOC0wMy0wMScgRU5EOjpkYXRlCitXSEVSRSBpZCA9 ICdbNiw3KSc7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2Ug YnV0IHN0aWxsIHZhbGlkOgorLS0gVGhlcmUgYXJlIHR3byByZWZlcmVuY2VzOiBvbmUgZnVsZmls bGVkIGJ5IHRoZSBmaXJzdCBwayByb3csCistLSB0aGUgb3RoZXIgZnVsZmlsbGVkIGJ5IGJvdGgg cGsgcm93cyBjb21iaW5lZC4KK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTCisgICgnWzEsMiknLCAnMjAxOC0wMS0wMScsICcyMDE4LTAz LTAxJyksCisgICgnWzEsMiknLCAnMjAxOC0wMy0wMScsICcyMDE4LTA2LTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT CisgICgnWzEsMiknLCAnWzIwMTgtMDEtMTUsMjAxOC0wMi0wMSknLCAnWzEsMiknKSwKKyAgKCdb MiwzKScsICdbMjAxOC0wMS0xNSwyMDE4LTA1LTAxKScsICdbMSwyKScpOworVVBEQVRFIHRlbXBv cmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTE1JywgdmFsaWRfdGlsID0gJzIwMTgt MDMtMDEnCitXSEVSRSBpZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6 ZGF0ZTsKKy0tIGEgUEsgdXBkYXRlIGdyb3dpbmcgdGhlIHJlZmVyZW5jZWQgcmFuZ2UgaXMgZmlu ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIHZhbGlkX2Zyb20gPSAnMjAxOC0wMS0wMScsIHZh bGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBA PiAnMjAxOC0wMS0yNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBzaHJpbmtpbmcgdGhlIHJlZmVy ZW5jZWQgcmFuZ2UgYW5kIGNoYW5naW5nIHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFu Z2U6CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbMiwzKScsIHZhbGlkX2Zyb20gPSAn MjAxOC0wMS0xNScsIHZhbGlkX3RpbCA9ICcyMDE4LTAzLTAxJworV0hFUkUgaWQgPSAnWzEsMikn IEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7CistLSBhIFBLIHVwZGF0ZSBjaGFu Z2luZyBvbmx5IHRoZSBpZCBpbnZhbGlkYXRlcyB0aGUgd2hvbGUgcmFuZ2U6CitVUERBVEUgdGVt cG9yYWxfcGVyIFNFVCBpZCA9ICdbMiwzKScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRf YXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRlOworLS0gYSBQSyB1cGRhdGUgdGhhdCBsb3NlcyB0aW1l IGZyb20gYm90aCBlbmRzLCBidXQgaXMgc3RpbGwgdmFsaWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUworICAoJ1syLDMpJywgJzIw MTgtMDEtMDEnLCAnMjAxOC0wMy0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBl ciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUworICAoJ1s1LDYpJywgJ1syMDE4LTAx LTE1LDIwMTgtMDItMDEpJywgJ1syLDMpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2YWxp ZF9mcm9tID0gJzIwMTgtMDEtMTUnLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0xNScKK1dIRVJFIGlk ID0gJ1syLDMpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSBy ZWZlcmVuY2VkOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgdmFsaWRfZnJvbSA9ICcyMDE2LTAx LTAxJywgdmFsaWRfdGlsID0gJzIwMTYtMDItMDEnCitXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZh bGlkX2Zyb20gPSAnMjAxOC0wMS0wMScgQU5EIHZhbGlkX3RpbCA9ICcyMDE4LTAyLTAxJzsKKy0t IGEgUEsgdXBkYXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3RoIGFyZSByZWZlcmVuY2VkLCBidXQg bm90ICd0aWwgY29tbWl0OgorQkVHSU47CisgIEFMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJw ZXIKKyAgICBBTFRFUiBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBERUZF UlJBQkxFIElOSVRJQUxMWSBERUZFUlJFRDsKKworICBVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCB2 YWxpZF9mcm9tID0gJzIwMTYtMDEtMDEnLCB2YWxpZF90aWwgPSAnMjAxNi0wMi0wMScKKyAgV0hF UkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9IGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcy MDE4LTAyLTAxJyk7CitDT01NSVQ7CistLSBjaGFuZ2luZyB0aGUgc2NhbGFyIHBhcnQgZmFpbHM6 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYp JyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIwMTgtMDIt MDEnOworLS0gY2hhbmdpbmcgYW4gdW5yZWZlcmVuY2VkIHBhcnQgaXMgb2theToKK1VQREFURSB0 ZW1wb3JhbF9wZXIKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDInIFRP ICcyMDE4LTAxLTAzJworU0VUIGlkID0gJ1s3LDgpJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0g Y2hhbmdpbmcganVzdCBhIHBhcnQgZmFpbHM6CitVUERBVEUgdGVtcG9yYWxfcGVyCitGT1IgUE9S VElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTA1JyBUTyAnMjAxOC0wMS0xMCcKK1NFVCBp ZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxf cGVyIFdIRVJFIGlkIGluICgnWzUsNiknLCAnWzcsOCknKSBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgaW4gKCdbMyw0KScp IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIHRoZW4gZGVsZXRlIHRoZSBvYmplY3RpbmcgRksg cmVjb3JkIGFuZCB0aGUgc2FtZSBQSyB1cGRhdGUgc3VjY2VlZHM6CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1szLDQpJzsKK1VQREFURSB0ZW1wb3JhbF9wZXIg U0VUIHZhbGlkX2Zyb20gPSAnMjAxNi0wMS0wMScsIHZhbGlkX3RpbCA9ICcyMDE2LTAyLTAxJwor V0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAx KSc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBSRVNUUklDVAorLS0KKwor VFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBl cl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNUUkFJTlQg dGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0Qg dmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyCisgIE9OIFVQREFURSBSRVNUUklD VDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIE5PIEFDVElPTgorLS0KKwor VFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcm5nMnBlcgorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVy X2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9wZXI7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2Ug dGhlIG51bWVyaWMgaWQgaXNuJ3QgcmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bl ciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzUsNiknLCAnMjAxOC0wMS0w MScsICcyMDE4LTAyLTAxJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAn WzUsNiknOworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBldmVuIHRob3VnaCB0aGUgbnVt ZXJpYyBpZCBpcyByZWZlcmVuY2VkIGJlY2F1c2UgdGhlIHJhbmdlIGlzbid0OgorSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMKKyAgKCdb NSw2KScsICcyMDE4LTAxLTAxJywgJzIwMTgtMDItMDEnKSwKKyAgKCdbNSw2KScsICcyMDE4LTAy LTAxJywgJzIwMTgtMDMtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlk LCB2YWxpZF9hdCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMyw0KScsICdbMjAxOC0wMS0wNSwyMDE4 LTAxLTEwKScsICdbNSw2KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyIFdIRVJFIGlkID0g J1s1LDYpJyBBTkQgdmFsaWRfZnJvbSA9ICcyMDE4LTAyLTAxJyBBTkQgdmFsaWRfdGlsID0gJzIw MTgtMDMtMDEnOworLS0gYSBQSyBkZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJl ZmVyZW5jZWQ6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFO RCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7 CistLSBhIFBLIGRlbGV0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwg YnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOworICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19y bmcycGVyCisgICAgQUxURVIgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisgICAg REVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7CisKKyAgREVMRVRFIEZST00gdGVtcG9yYWxf cGVyIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2UoJzIwMTgtMDEt MDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gZGVsZXRpbmcgYW4gdW5yZWZlcmVuY2Vk IHBhcnQgaXMgb2theToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcgorRk9SIFBPUlRJT04gT0Yg dmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wMicgVE8gJzIwMTgtMDEtMDMnCitXSEVSRSBpZCA9ICdb NSw2KSc7CistLSBkZWxldGluZyBqdXN0IGEgcGFydCBmYWlsczoKK0RFTEVURSBGUk9NIHRlbXBv cmFsX3BlcgorRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIw MTgtMDEtMTAnCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Bl ciBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkIGluICgnWzMsNCknKSBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJl Y29yZCBhbmQgdGhlIHNhbWUgUEsgZGVsZXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9y YWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMyw0KSc7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9w ZXIgV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDEnIEFORCB2 YWxpZF90aWwgPSAnMjAxOC0wMi0wMSc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVs ZXRlcyBSRVNUUklDVAorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19y bmcycGVyOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBEUk9QIENPTlNUUkFJ TlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9mazsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJw ZXIKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVy CisgIE9OIERFTEVURSBSRVNUUklDVDsKKworLS0KKy0tIHJuZzJwZXIgdGVzdCBPTiBVUERBVEUv REVMRVRFIG9wdGlvbnMKKy0tCistLSBUT0M6CistLSByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FE RQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgTlVMTAorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLSByZWZlcmVuY2VkIHVw ZGF0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVAorLS0g cmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5j ZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQg TlVMTCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0 d28gc2NhbGFyIGNvbHMsIFNFVCBOVUxMIHN1YnNldCkKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBT RVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0gcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBE RUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFV TFQgKHR3byBzY2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorCistLQorLS0gdGVzdCBG SyByZWZlcmVuY2VkIHVwZGF0ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVy LCB0ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwg cGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSkn LCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3JuZzJwZXIKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3BlcgorICAgIE9OIERF TEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIw MTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2 LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRF IHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5T RVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMg KCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVy IChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAx LTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9 ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEn OjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1sy MDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVu Y2VkIGRlbGV0ZXMgQ0FTQ0FERQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3Jh bF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk KSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNykn KTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVy IEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAx JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBP IGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFM VUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywg JzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVy IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIE5VTEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5n MnBlcjsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzEwMCwxMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19ybmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19ybmcycGVyX2ZrCisg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcGVyCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3BlciBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9wZXIgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZh bGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIw LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOwor VVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzksMTApJyBXSEVSRSBpZCA9ICdbOCw5KScg QU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9wZXIsIHRlbXBvcmFsX2ZrX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywg JzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcm5n MnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJP TSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVS IEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5n MnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZL IGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChp ZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywg JzIwMjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9p ZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkp Jyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxp ZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0t CistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVAorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcGVyLCB0ZW1wb3JhbF9ma19ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgbnVs bCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScpOwor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lk IFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3Ju ZzJwZXJfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3JuZzJwZXJfZmsKKyAgICBG T1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9wZXIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgT04gVVBEQVRFIFNFVCBERUZB VUxUOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcGVyIEZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBT RVQgaWQgPSAnWzcsOCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRlbXBvcmFsX3BlciBTRVQgaWQgPSAnWzcs OCknIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcm5nMnBl ciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFj cm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwg dmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIw MjAtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZh bGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJ TlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZCkg VkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s4LDkpJyk7 CitVUERBVEUgdGVtcG9yYWxfcGVyIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkp JyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1w b3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0t CisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlciwgdGVtcG9yYWxfZmtfcm5nMnBlcjsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0x LC0xXScsIG51bGwsIG51bGwpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyIChpZCwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAn WzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3Ju ZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBu b24tRlBPIHVwZGF0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlciBXSEVSRSBpZCA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlciAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9wZXIgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4 LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf Zmtfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScs ICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9y YWxfcGVyIFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpk YXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAs MjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IHVwZGF0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9y YWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3 KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAo J1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScp OworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJPUCBDT05TVFJBSU5UIHRl bXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5n MnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0Qg dmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIENB U0NBREUgT04gVVBEQVRFIENBU0NBREU7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQ REFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEt MDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNykn OworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEw MF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRFIHRl bXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwp IFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0wMS0wMScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3Rp bCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIxLTAxLTAxJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0w MS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIyIFNFVCBpZDEg PSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUg dGVtcG9yYWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScs ICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdb Niw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJPTSB0ZW1wb3Jh bF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIw LTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJf cm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0t IG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcy MDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVt cG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0w MSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0g J1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZl cmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRF IHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9y YWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNykn LCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAn WzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVyCisgIERST1AgQ09OU1RS QUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxf ZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwg UEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcGVyMgorICAgIE9OIERF TEVURSBTRVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBz aWRlczoKK1VQREFURSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00g JzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEg PSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgor VVBEQVRFIHRlbXBvcmFsX3BlcjIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcp JzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwx MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQg cm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2 YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgtMDEtMDEnLCAnMjAyMC0w MS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAyMC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9wZXIy IFNFVCBpZDEgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAn MjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdI RVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisK K1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9ybmcycGVyOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVT ICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQg SU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJl bnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAn WzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcGVyMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAx JyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVt cG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hF UkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hF UkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3Mg dHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQy LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMTgt MDEtMDEnLCAnMjAyMC0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBp ZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAy MC0wMS0wMScsICcyMDIxLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBl ciAoaWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIw MF0nLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknLCAnWzgsOSknLCAnWzgsOSknKTsKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3BlcjIgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4g JzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBX SEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRl c3QgRksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMsIFNFVCBO VUxMIHN1YnNldCkKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFsX2ZrMl9y bmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20s IHZhbGlkX3RpbCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcm5nMnBlciAoaWQsIHZhbGlkX2F0 LCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnWzIwMTgtMDEt MDEsMjAyMS0wMS0wMSknLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGZhaWxzIGJlY2F1c2UgeW91 IGNhbid0IHNldCB0aGUgUEVSSU9EIGNvbHVtbjoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9y bmcycGVyCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maywKKyAgQURE IENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFy ZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVt cG9yYWxfcGVyMgorICAgIE9OIERFTEVURSBTRVQgTlVMTCAodmFsaWRfYXQpIE9OIFVQREFURSBT RVQgTlVMTDsKKy0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3JuZzJwZXIKKyAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJl bnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisg ICAgT04gREVMRVRFIFNFVCBOVUxMIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIE5VTEw7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3BlcjIgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBk ZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAtMDEtMDEn KTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9tLCB2YWxp ZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAyMS0wMS0w MScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFy ZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIw MjEtMDEtMDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIy IFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBd JyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgdXBk YXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNBVEUgdGVtcG9y YWxfcGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIy IChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1st MSwtMV0nLCBudWxsLCBudWxsKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQy LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIg KGlkLCB2YWxpZF9hdCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzEwMCwxMDBd JywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBU QUJMRSB0ZW1wb3JhbF9mazJfcm5nMnBlcgorICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQg REVGQVVMVCAnWy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxU ICdbLTEsLTFdJywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAor ICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZ IChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNF UyB0ZW1wb3JhbF9wZXIyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQg REVGQVVMVDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3Bl cjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEt MDEnIFNFVCBpZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7 CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAw XScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVt cG9yYWxfcGVyMiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAn WzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdb MTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJl bmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnMjAxOC0wMS0wMScsICcy MDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRf ZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDIwLTAxLTAxJywg JzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFs aWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFs X3BlcjIgU0VUIGlkMSA9ICdbOSwxMCknLCBpZDIgPSAnWzksMTApJyBXSEVSRSBpZDEgPSAnWzgs OSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZh bGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQg KHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3BlcjIsIHRlbXBvcmFs X2ZrMl9ybmcycGVyOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbLTEsLTFdJywgbnVsbCwgbnVs bCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFs aWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBh cmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdbMjAxOC0wMS0wMSwy MDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lk ZXM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VM RUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9S REVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorREVMRVRFIEZST00gdGVt cG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9m azJfcm5nMnBlciBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsK Ky0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxf cGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWzgsOSknLCAn WzgsOSknLCAnMjAxOC0wMS0wMScsICcyMDIwLTAxLTAxJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScs ICdbOCw5KScsICcyMDIwLTAxLTAxJywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX2ZrMl9ybmcycGVyIChpZCwgdmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZB TFVFUyAoJ1syMDAsMjAwXScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbOCw5KScsICdb OCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcGVyMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFO RCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQgKHR3byBz Y2FsYXIgY29scywgU0VUIERFRkFVTFQgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9yYWxf cGVyMiwgdGVtcG9yYWxfZmsyX3JuZzJwZXI7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChp ZDEsIGlkMiwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbLTEsLTFdJywgJ1s2LDcp JywgbnVsbCwgbnVsbCk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsKSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICcyMDE4LTAxLTAx JywgJzIwMjEtMDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9ybmcycGVyIChpZCwg dmFsaWRfYXQsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICdb MjAxOC0wMS0wMSwyMDIxLTAxLTAxKScsICdbNiw3KScsICdbNiw3KScpOworLS0gZmFpbHMgYmVj YXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxURVIgVEFCTEUgdGVtcG9y YWxfZmsyX3JuZzJwZXIKKyAgQUxURVIgQ09MVU1OIHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1st MSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3JuZzJwZXJfZmssCisgIEFE RCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBh cmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRl bXBvcmFsX3BlcjIKKyAgICBPTiBERUxFVEUgU0VUIERFRkFVTFQgKHZhbGlkX2F0KSBPTiBVUERB VEUgU0VUIERFRkFVTFQ7CistLSBvazoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9ybmcycGVy CisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQxIFNFVCBERUZBVUxUICdbLTEsLTFdJywKKyAgRFJP UCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9ybmcycGVyX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcm5nMnBlcl9maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJl bnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9wZXIyCisg ICAgT04gREVMRVRFIFNFVCBERUZBVUxUIChwYXJlbnRfaWQxKSBPTiBVUERBVEUgU0VUIERFRkFV TFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Bl cjIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEt MDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcy cGVyIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9u LUZQTyB1cGRhdGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJFIGlkMSA9ICdbNiw3 KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9ybmcycGVyIFdIRVJFIGlkID0gJ1sxMDAs MTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2Vk IHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9wZXIyIChpZDEsIGlkMiwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsKSBWQUxVRVMgKCdbOCw5KScsICdbOCw5KScsICcyMDE4LTAxLTAxJywgJzIwMjAt MDEtMDEnKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3BlcjIgKGlkMSwgaWQyLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJzIwMjAtMDEtMDEnLCAnMjAy MS0wMS0wMScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcGVyMiAoaWQxLCBpZDIsIHZhbGlkX2Zy b20sIHZhbGlkX3RpbCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsIG51bGwsIG51bGwpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3JuZzJwZXIgKGlkLCB2YWxpZF9hdCwgcGFyZW50X2lk MSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEt MDEpJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9wZXIyIFdIRVJF IGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVD VCAqIEZST00gdGVtcG9yYWxfZmsyX3JuZzJwZXIgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRF UiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZPUkVJR04gS0VZLCBQRVJJT0QgcmVm ZXJlbmNlcyByYW5nZQorLS0KKworLS0gdGVzdCB0YWJsZSBzZXR1cAorRFJPUCBUQUJMRSB0ZW1w b3JhbF9ybmcgQ0FTQ0FERTsKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ybmcgKAorICBpZCBpbnQ0 cmFuZ2UsCisgIHZhbGlkX2F0IGRhdGVyYW5nZQorKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX3Ju ZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ybmdfcGsKKyAgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKTsKKworLS0gQ2FuJ3QgY3JlYXRlIGEgRksgd2l0aCBh IG1pc21hdGNoZWQgcmFuZ2UgdHlwZQorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gaW50LAorICB2YWxpZF90aWwgaW50LAor ICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9t LCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFS WSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKKyk7 CisKKy0tIHdvcmtzOiByYW5nZSBmb3IgcmVmZXJlbmNlZCwgUEVSSU9EIGZvciByZWZlcmVuY2lu ZworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZCBpbnQ0cmFu Z2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsg Rk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcm5nIChpZCwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrX3Bl cjJybmcKK0RST1AgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZzsKKworLS0gd2l0aCBtaXNtYXRj aGVkIFBFUklPRCBjb2x1bW5zOgorCistLSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpIFJF RkVSRU5DRVMgKGlkLCB2YWxpZF9hdCkKKy0tIFJFRkVSRU5DRVMgcGFydCBzaG91bGQgc3BlY2lm eSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQg aW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KQorKTsKKy0tIChwYXJlbnRfaWQsIHZh bGlkX2F0KSBSRUZFUkVOQ0VTIChpZCwgdmFsaWRfYXQpCistLSBib3RoIHNob3VsZCBzcGVjaWZ5 IFBFUklPRDoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQg aW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwp LAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2 YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIy cm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMg dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpCispOworLS0gKHBhcmVudF9pZCwgdmFsaWRfYXQp IFJFRkVSRU5DRVMgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCistLSBGT1JFSUdOIEtFWSBwYXJ0IHNo b3VsZCBzcGVjaWZ5IFBFUklPRAorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcgKAor ICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisg IHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zyb20s IHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklNQVJZ IEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrX3BlcjJybmdfZmsgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgdmFsaWRfYXQpCisgICAg UkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCispOworLS0gKHBh cmVudF9pZCwgdmFsaWRfYXQpIFJFRkVSRU5DRVMgW2ltcGxpY2l0XQorLS0gRk9SRUlHTiBLRVkg cGFydCBzaG91bGQgc3BlY2lmeSBQRVJJT0QKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIy cm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBk YXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIHZhbGlkX2F0 KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCispOworLS0gKHBhcmVudF9pZCwgUEVSSU9E IHZhbGlkX2F0KSBSRUZFUkVOQ0VTIChpZCkKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIy cm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBk YXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxp ZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsg UFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlO VCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZyAoaWQpCispOworLS0gKHBhcmVu dF9pZCkgUkVGRVJFTkNFUyAoaWQsIFBFUklPRCB2YWxpZF9hdCkKK0NSRUFURSBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisg IHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZh bGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2Zr X3BlcjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwK KyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRf aWQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpCisp OworLS0gd2l0aCBpbmZlcnJlZCBQSyBvbiB0aGUgcmVmZXJlbmNlZCB0YWJsZToKKy0tIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkgUkVGRVJFTkNFUyBbaW1wbGljaXRdCitDUkVBVEUgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRfZnJvbSBk YXRlLAorICB2YWxpZF90aWwgZGF0ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgUEVSSU9E IEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX3BrIFBSSU1BUlkgS0VZIChpZCwgdmFsaWRfYXQgV0lUSE9VVCBPVkVS TEFQUyksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mayBGT1JFSUdOIEtFWSAo cGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcK Kyk7CitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmc7CistLSAocGFyZW50X2lkKSBSRUZF UkVOQ0VTIFtpbXBsaWNpdF0KK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAg aWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBw YXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQpCisgICAgUkVGRVJFTkNFUyB0 ZW1wb3JhbF9ybmcKKyk7CisKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ugb2YgZHVwbGljYXRlIHJl ZmVyZW5jZWQgY29sdW1uczoKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nICgKKyAg aWQgaW50NHJhbmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBw YXJlbnRfaWQgaW50NHJhbmdlLAorICBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2 YWxpZF90aWwpLAorICBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfcGsgUFJJTUFSWSBL RVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCBwYXJlbnRfaWQp CisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgaWQpCispOworCistLSBU d28gc2NhbGFyIGNvbHVtbnMKK0RST1AgVEFCTEUgdGVtcG9yYWxfcm5nMiBDQVNDQURFOworQ1JF QVRFIFRBQkxFIHRlbXBvcmFsX3JuZzIgKAorICBpZDEgaW50NHJhbmdlLAorICBpZDIgaW50NHJh bmdlLAorICB2YWxpZF9hdCBkYXRlcmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcm5nMl9w ayBQUklNQVJZIEtFWSAoaWQxLCBpZDIsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOwor CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcgKAorICBpZCBpbnQ0cmFuZ2UsCisg IHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIHBhcmVudF9pZDEgaW50NHJh bmdlLAorICBwYXJlbnRfaWQyIGludDRyYW5nZSwKKyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFs aWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19w ayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBDT05TVFJB SU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJl bnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyIChp ZDEsIGlkMiwgUEVSSU9EIHZhbGlkX2F0KQorKTsKK1xkIHRlbXBvcmFsX2ZrMl9wZXIycm5nCitE Uk9QIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworCistLQorLS0gdGVzdCBBTFRFUiBUQUJM RSBBREQgQ09OU1RSQUlOVAorLS0KKworQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcg KAorICBpZCBpbnQ0cmFuZ2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUs CisgIHBhcmVudF9pZCBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRfYXQgKHZhbGlkX2Zy b20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19wayBQUklN QVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcgKGlkLCBQRVJJT0QgdmFsaWRfYXQpOworLS0gVHdvIHNjYWxhciBj b2x1bW5zOgorQ1JFQVRFIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nICgKKyAgaWQgaW50NHJh bmdlLAorICB2YWxpZF9mcm9tIGRhdGUsCisgIHZhbGlkX3RpbCBkYXRlLAorICBwYXJlbnRfaWQx IGludDRyYW5nZSwKKyAgcGFyZW50X2lkMiBpbnQ0cmFuZ2UsCisgIFBFUklPRCBGT1IgdmFsaWRf YXQgKHZhbGlkX2Zyb20sIHZhbGlkX3RpbCksCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Bl cjJybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJMQVBTKQorKTsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBv cmFsX2ZrMl9wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQy LCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIs IFBFUklPRCB2YWxpZF9hdCk7CitcZCB0ZW1wb3JhbF9mazJfcGVyMnJuZworCistLSB3aXRoIGlu ZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlLCBhbmQgd3JvbmcgY29sdW1uIHR5cGU6 CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1w b3JhbF9ma19wZXIycm5nX2ZrLAorICBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQsCisgIEFMVEVS IENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgdGltZXN0YW1wLAorICBBTFRFUiBDT0xVTU4gdmFsaWRf dGlsIFRZUEUgdGltZXN0YW1wLAorICBBREQgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJv bSwgdmFsaWRfdGlsKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENP TlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lk LCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOworQUxURVIgVEFC TEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBEUk9QIFBFUklPRCBGT1IgdmFsaWRfYXQsCisgIEFM VEVSIENPTFVNTiB2YWxpZF9mcm9tIFRZUEUgZGF0ZSwKKyAgQUxURVIgQ09MVU1OIHZhbGlkX3Rp bCBUWVBFIGRhdGUsCisgIEFERCBQRVJJT0QgRk9SIHZhbGlkX2F0ICh2YWxpZF9mcm9tLCB2YWxp ZF90aWwpOworCistLSB3aXRoIGluZmVycmVkIFBLIG9uIHRoZSByZWZlcmVuY2VkIHRhYmxlOgor QUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3Jh bF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9h dCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CisKKy0tIHNob3VsZCBmYWlsIGJlY2F1c2Ug b2YgZHVwbGljYXRlIHJlZmVyZW5jZWQgY29sdW1uczoKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2Zr X3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mazIKKyAgRk9S RUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHBhcmVudF9pZCkKKyAgUkVGRVJFTkNFUyB0ZW1w b3JhbF9ybmcgKGlkLCBQRVJJT0QgaWQpOworCistLQorLS0gdGVzdCB3aXRoIHJvd3MgYWxyZWFk eQorLS0KKworREVMRVRFIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0RFTEVURSBGUk9NIHRl bXBvcmFsX3JuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMKKyAgKCdbMSwyKScsICdbMjAxOC0wMS0wMiwyMDE4LTAyLTAzKScpLAorICAoJ1sxLDIpJywg J1syMDE4LTAzLTAzLDIwMTgtMDQtMDQpJyksCisgICgnWzIsMyknLCAnWzIwMTgtMDEtMDEsMjAx OC0wMS0wNSknKSwKKyAgKCdbMyw0KScsICdbMjAxOC0wMS0wMSwpJyk7CisKK0FMVEVSIFRBQkxF IHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJy bmdfZms7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwg dmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxLDIpJywgJzIwMTgtMDEtMDInLCAnMjAx OC0wMi0wMScsICdbMSwyKScpOworQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICBB REQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgIEZPUkVJR04gS0VZIChwYXJl bnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmc7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycm5nX2ZrOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlk X2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMiwzKScsICcyMDE4LTAxLTAy JywgJzIwMTgtMDQtMDEnLCAnWzEsMiknKTsKKy0tIHNob3VsZCBmYWlsOgorQUxURVIgVEFCTEUg dGVtcG9yYWxfZmtfcGVyMnJuZworICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5n X2ZrCisgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmc7CistLSBva2F5IGFnYWluOgorREVMRVRFIEZST00gdGVtcG9yYWxf ZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQ RVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nOworCistLQorLS0gdGVz dCBwZ19nZXRfY29uc3RyYWludGRlZgorLS0KKworU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVm KG9pZCkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbm5hbWUgPSAndGVtcG9yYWxfZmtfcGVy MnJuZ19mayc7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jaW5nIGluc2VydHMKKy0tCisKK0lO U0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWws IHBhcmVudF9pZCkgVkFMVUVTICgnWzEsMiknLCAnMjAxOC0wMS0wMicsICcyMDE4LTAyLTAxJywg J1sxLDIpJyk7CistLSBzaG91bGQgZmFpbDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJy bmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIsMykn LCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CistLSBub3cgaXQgc2hvdWxk IHdvcms6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgn WzEsMiknLCAnWzIwMTgtMDItMDMsMjAxOC0wMy0wMyknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVT ICgnWzIsMyknLCAnMjAxOC0wMS0wMicsICcyMDE4LTA0LTAxJywgJ1sxLDIpJyk7CisKKy0tCist LSB0ZXN0IEZLIHJlZmVyZW5jaW5nIHVwZGF0ZXMKKy0tCisKKy0tIHNsaWRlIHRoZSBlZGdlIGFj cm9zcyBhIHJlZmVyZW5jZWQgdHJhbnNpdGlvbjoKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycm5n IFNFVCB2YWxpZF9mcm9tID0gJzIwMTgtMDEtMDInLCB2YWxpZF90aWwgPSAnMjAxOC0wMi0yMCcg V0hFUkUgaWQgPSAnWzEsMiknOworLS0gc2hvdWxkIGZhaWw6CitVUERBVEUgdGVtcG9yYWxfZmtf cGVyMnJuZyBTRVQgdmFsaWRfZnJvbSA9ICcyMDE4LTAxLTAyJywgdmFsaWRfdGlsID0gJzIwMTgt MDUtMDEnIFdIRVJFIGlkID0gJ1sxLDIpJzsKK1VQREFURSB0ZW1wb3JhbF9ma19wZXIycm5nIFNF VCBwYXJlbnRfaWQgPSAnWzgsOSknIFdIRVJFIGlkID0gJ1sxLDIpJzsKKworLS0gQUxURVIgRksg REVGRVJSQUJMRQorCitCRUdJTjsKKyAgSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFs aWRfYXQpIFZBTFVFUworICAgICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKSwK KyAgICAoJ1s1LDYpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CisgIElOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9p ZCkgVkFMVUVTCisgICAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAnWzUs NiknKTsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICAgIEFMVEVSIENPTlNU UkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFCTEUgSU5JVElBTExZIERF RkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7 IC0tc2hvdWxkIG5vdCBmYWlsIHlldC4KK0NPTU1JVDsgLS0gc2hvdWxkIGZhaWwgaGVyZS4KKwor LS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIE5PIEFDVElPTgorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworQUxURVIgVEFCTEUgdGVtcG9y YWxfZmtfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19mazsK K0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJybmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9y YWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRf YXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nCisgIE9OIFVQREFURSBOTyBBQ1RJT047Cist LSBhIFBLIHVwZGF0ZSB0aGF0IHN1Y2NlZWRzIGJlY2F1c2UgdGhlIG51bWVyaWMgaWQgaXNuJ3Qg cmVmZXJlbmNlZDoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxV RVMgKCdbNSw2KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScpOworVVBEQVRFIHRlbXBvcmFs X3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDEtMDEsMjAxNi0wMi0wMSknIFdIRVJFIGlkID0g J1s1LDYpJzsKKy0tIGEgUEsgdXBkYXRlIHRoYXQgc3VjY2VlZHMgZXZlbiB0aG91Z2ggdGhlIG51 bWVyaWMgaWQgaXMgcmVmZXJlbmNlZCBiZWNhdXNlIHRoZSByYW5nZSBpc24ndDoKK0RFTEVURSBG Uk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAx OC0wMi0wMSknKSwKKyAgKCdbNSw2KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkKSBWQUxVRVMKKyAgKCdbMyw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAn LCAnWzUsNiknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE2LTAy LTAxLDIwMTYtMDMtMDEpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9ICdbMjAx OC0wMi0wMSwyMDE4LTAzLTAxKSc7CistLSBBIFBLIHVwZGF0ZSBzbGlkaW5nIHRoZSBlZGdlIGJl dHdlZW4gdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQs IHZhbGlkX2F0KSBWQUxVRVMKKyAgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKScp LAorICAoJ1s2LDcpJywgJ1syMDE4LTAyLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUworICAoJ1s0LDUpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0xNScsICdbNiw3KScp OworVVBEQVRFIHRlbXBvcmFsX3JuZworU0VUIHZhbGlkX2F0ID0gQ0FTRSBXSEVOIGxvd2VyKHZh bGlkX2F0KSA9ICcyMDE4LTAxLTAxJyBUSEVOIGRhdGVyYW5nZSgnMjAxOC0wMS0wMScsICcyMDE4 LTAxLTA1JykKKyAgICAgICAgICAgICAgICAgICAgV0hFTiBsb3dlcih2YWxpZF9hdCkgPSAnMjAx OC0wMi0wMScgVEhFTiBkYXRlcmFuZ2UoJzIwMTgtMDEtMDUnLCAnMjAxOC0wMy0wMScpIEVORAor V0hFUkUgaWQgPSAnWzYsNyknOworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVu Y2VkIHJhbmdlIGJ1dCBzdGlsbCB2YWxpZDoKKy0tIFRoZXJlIGFyZSB0d28gcmVmZXJlbmNlczog b25lIGZ1bGZpbGxlZCBieSB0aGUgZmlyc3QgcGsgcm93LAorLS0gdGhlIG90aGVyIGZ1bGZpbGxl ZCBieSBib3RoIHBrIHJvd3MgY29tYmluZWQuCitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTCisgICgnWzEsMiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMy0wMSkn KSwKKyAgKCdbMSwyKScsICdbMjAxOC0wMy0wMSwyMDE4LTA2LTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lk KSBWQUxVRVMKKyAgKCdbMSwyKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDItMDEnLCAnWzEsMikn KSwKKyAgKCdbMiwzKScsICcyMDE4LTAxLTE1JywgJzIwMTgtMDUtMDEnLCAnWzEsMiknKTsKK1VQ REFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTE1LDIwMTgtMDMtMDEp JworV0hFUkUgaWQgPSAnWzEsMiknIEFORCB2YWxpZF9hdCBAPiAnMjAxOC0wMS0xNSc6OmRhdGU7 CistLSBhIFBLIHVwZGF0ZSBncm93aW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGlzIGZpbmU6CitV UERBVEUgdGVtcG9yYWxfcm5nIFNFVCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0wMSwyMDE4LTAzLTAx KScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMjUnOjpkYXRl OworLS0gYSBQSyB1cGRhdGUgc2hyaW5raW5nIHRoZSByZWZlcmVuY2VkIHJhbmdlIGFuZCBjaGFu Z2luZyB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdob2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFs X3JuZyBTRVQgaWQgPSAnWzIsMyknLCB2YWxpZF9hdCA9ICdbMjAxOC0wMS0xNSwyMDE4LTAzLTAx KScKK1dIRVJFIGlkID0gJ1sxLDIpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTgtMDEtMTUnOjpkYXRl OworLS0gYSBQSyB1cGRhdGUgY2hhbmdpbmcgb25seSB0aGUgaWQgaW52YWxpZGF0ZXMgdGhlIHdo b2xlIHJhbmdlOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzIsMyknCitXSEVSRSBp ZCA9ICdbMSwyKScgQU5EIHZhbGlkX2F0IEA+ICcyMDE4LTAxLTE1Jzo6ZGF0ZTsKKy0tIGEgUEsg dXBkYXRlIHRoYXQgbG9zZXMgdGltZSBmcm9tIGJvdGggZW5kcywgYnV0IGlzIHN0aWxsIHZhbGlk OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUworICAoJ1sy LDMpJywgJ1syMDE4LTAxLTAxLDIwMTgtMDMtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m a19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUwor ICAoJ1s1LDYpJywgJzIwMTgtMDEtMTUnLCAnMjAxOC0wMi0wMScsICdbMiwzKScpOworVVBEQVRF IHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMTUsMjAxOC0wMi0xNSknCitX SEVSRSBpZCA9ICdbMiwzKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJlY2F1c2UgYm90 aCBhcmUgcmVmZXJlbmNlZDoKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIHZhbGlkX2F0ID0gJ1sy MDE2LTAxLTAxLDIwMTYtMDItMDEpJworV0hFUkUgaWQgPSAnWzUsNiknIEFORCB2YWxpZF9hdCA9 ICdbMjAxOC0wMS0wMSwyMDE4LTAyLTAxKSc7CistLSBhIFBLIHVwZGF0ZSB0aGF0IGZhaWxzIGJl Y2F1c2UgYm90aCBhcmUgcmVmZXJlbmNlZCwgYnV0IG5vdCAndGlsIGNvbW1pdDoKK0JFR0lOOwor ICBBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgICAgQUxURVIgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisgICAgREVGRVJSQUJMRSBJTklUSUFMTFkgREVGRVJSRUQ7 CisKKyAgVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgdmFsaWRfYXQgPSAnWzIwMTYtMDEtMDEsMjAx Ni0wMi0wMSknCisgIFdIRVJFIGlkID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSBkYXRlcmFuZ2Uo JzIwMTgtMDEtMDEnLCAnMjAxOC0wMi0wMScpOworQ09NTUlUOworLS0gY2hhbmdpbmcgdGhlIHNj YWxhciBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBTRVQgaWQgPSAnWzcsOCknCitX SEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAxLTAxLDIwMTgtMDItMDEp JzsKKy0tIGNoYW5naW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9rYXk6CitVUERBVEUgdGVt cG9yYWxfcm5nCitGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE4LTAxLTAyJyBUTyAn MjAxOC0wMS0wMycKK1NFVCBpZCA9ICdbNyw4KScKK1dIRVJFIGlkID0gJ1s1LDYpJzsKKy0tIGNo YW5naW5nIGp1c3QgYSBwYXJ0IGZhaWxzOgorVVBEQVRFIHRlbXBvcmFsX3JuZworRk9SIFBPUlRJ T04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOC0wMS0wNScgVE8gJzIwMTgtMDEtMTAnCitTRVQgaWQg PSAnWzcsOCknCitXSEVSRSBpZCA9ICdbNSw2KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX3Ju ZyBXSEVSRSBpZCBpbiAoJ1s1LDYpJywgJ1s3LDgpJykgT1JERVIgQlkgaWQsIHZhbGlkX2F0Owor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkIGluICgnWzMsNCknKSBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSB0aGVuIGRlbGV0ZSB0aGUgb2JqZWN0aW5nIEZLIHJl Y29yZCBhbmQgdGhlIHNhbWUgUEsgdXBkYXRlIHN1Y2NlZWRzOgorREVMRVRFIEZST00gdGVtcG9y YWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMyw0KSc7CitVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCB2YWxpZF9hdCA9ICdbMjAxNi0wMS0wMSwyMDE2LTAyLTAxKScKK1dIRVJFIGlkID0gJ1s1LDYp JyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworCistLQorLS0gdGVz dCBGSyByZWZlcmVuY2VkIHVwZGF0ZXMgUkVTVFJJQ1QKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFs X3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJy bmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitBTFRFUiBUQUJM RSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJy bmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3JuZworICBPTiBVUERBVEUgUkVTVFJJQ1Q7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBOTyBBQ1RJT04KKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFs X3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrX3BlcjJy bmcKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICBGT1JFSUdOIEtF WSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5n OworLS0gYSBQSyBkZWxldGUgdGhhdCBzdWNjZWVkcyBiZWNhdXNlIHRoZSBudW1lcmljIGlkIGlz bid0IHJlZmVyZW5jZWQ6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKTsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KSc7CistLSBhIFBLIGRlbGV0ZSB0aGF0IHN1 Y2NlZWRzIGV2ZW4gdGhvdWdoIHRoZSBudW1lcmljIGlkIGlzIHJlZmVyZW5jZWQgYmVjYXVzZSB0 aGUgcmFuZ2UgaXNuJ3Q6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkg VkFMVUVTCisgICgnWzUsNiknLCAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknKSwKKyAgKCdbNSw2 KScsICdbMjAxOC0wMi0wMSwyMDE4LTAzLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtf cGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdb Myw0KScsICcyMDE4LTAxLTA1JywgJzIwMTgtMDEtMTAnLCAnWzUsNiknKTsKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gJ1syMDE4LTAy LTAxLDIwMTgtMDMtMDEpJzsKKy0tIGEgUEsgZGVsZXRlIHRoYXQgZmFpbHMgYmVjYXVzZSBib3Ro IGFyZSByZWZlcmVuY2VkOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlkID0gJ1s1 LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworLS0gYSBQSyBk ZWxldGUgdGhhdCBmYWlscyBiZWNhdXNlIGJvdGggYXJlIHJlZmVyZW5jZWQsIGJ1dCBub3QgJ3Rp bCBjb21taXQ6CitCRUdJTjsKKyAgQUxURVIgVEFCTEUgdGVtcG9yYWxfZmtfcGVyMnJuZworICAg IEFMVEVSIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJuZ19maworICAgIERFRkVSUkFCTEUg SU5JVElBTExZIERFRkVSUkVEOworCisgIERFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBp ZCA9ICdbNSw2KScgQU5EIHZhbGlkX2F0ID0gZGF0ZXJhbmdlKCcyMDE4LTAxLTAxJywgJzIwMTgt MDItMDEnKTsKK0NPTU1JVDsKKy0tIGRlbGV0aW5nIGFuIHVucmVmZXJlbmNlZCBwYXJ0IGlzIG9r YXk6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZS T00gJzIwMTgtMDEtMDInIFRPICcyMDE4LTAxLTAzJworV0hFUkUgaWQgPSAnWzUsNiknOworLS0g ZGVsZXRpbmcganVzdCBhIHBhcnQgZmFpbHM6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcKK0ZP UiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTgtMDEtMDUnIFRPICcyMDE4LTAxLTEwJwor V0hFUkUgaWQgPSAnWzUsNiknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ybmcgV0hFUkUgaWQg aW4gKCdbNSw2KScsICdbNyw4KScpIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCBpbiAoJ1szLDQpJykgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworLS0gdGhlbiBkZWxldGUgdGhlIG9iamVjdGluZyBGSyByZWNvcmQgYW5kIHRo ZSBzYW1lIFBLIGRlbGV0ZSBzdWNjZWVkczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzMsNCknOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlk ID0gJ1s1LDYpJyBBTkQgdmFsaWRfYXQgPSAnWzIwMTgtMDEtMDEsMjAxOC0wMi0wMSknOworCist LQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgUkVTVFJJQ1QKKy0tCisKK1RSVU5DQVRF IHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0FMVEVSIFRBQkxFIHRlbXBvcmFs X2ZrX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZms7CitB TFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrX3BlcjJybmdfZmsKKyAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0 KQorICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICBPTiBERUxFVEUgUkVTVFJJQ1Q7CisKKy0t CistLSBwZXIycm5nIHRlc3QgT04gVVBEQVRFL0RFTEVURSBvcHRpb25zCistLQorLS0gVE9DOgor LS0gcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUKKy0tIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVND QURFCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIE5VTEwKKy0tIHJlZmVyZW5jZWQgZGVsZXRl cyBTRVQgTlVMTAorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBERUZBVUxUCistLSByZWZlcmVu Y2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tIHJlZmVyZW5jZWQgdXBkYXRlcyBDQVNDQURFICh0 d28gc2NhbGFyIGNvbHMpCistLSByZWZlcmVuY2VkIGRlbGV0ZXMgQ0FTQ0FERSAodHdvIHNjYWxh ciBjb2xzKQorLS0gcmVmZXJlbmNlZCB1cGRhdGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMp CistLSByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tIHJl ZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTCAodHdvIHNjYWxhciBjb2xzLCBTRVQgTlVMTCBzdWJz ZXQpCistLSByZWZlcmVuY2VkIHVwZGF0ZXMgU0VUIERFRkFVTFQgKHR3byBzY2FsYXIgY29scykK Ky0tIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0g cmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMsIFNFVCBERUZB VUxUIHN1YnNldCkKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUK Ky0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAx OC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAo aWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0n LCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9ma19wZXIycm5nCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrX3BlcjJybmdfZmsK KyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJF TkNFUyB0ZW1wb3JhbF9ybmcKKyAgICBPTiBERUxFVEUgQ0FTQ0FERSBPTiBVUERBVEUgQ0FTQ0FE RTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5n IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3Jh bF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBA PiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFCistLQorCitUUlVOQ0FURSB0ZW1wb3Jh bF9ybmcsIHRlbXBvcmFsX2ZrX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlk LCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90 aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0w MS0wMScsICdbNiw3KScpOworLS0gbGVmdG92ZXJzIG9uIGJvdGggc2lkZXM6CitERUxFVEUgRlJP TSB0ZW1wb3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScg VE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9h dDsKKy0tIG5vbi1GUE8gZGVsZXRlOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIFdIRVJFIGlk ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9 ICdbMTAwLDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVm ZXJlbmNlZCByb3dzOgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMjAtMDEtMDEs MjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrX3BlcjJybmcgKGlkLCB2YWxp ZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZCkgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgt MDEtMDEnLCAnMjAyMS0wMS0wMScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5n IFdIRVJFIGlkID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIHVwZGF0 ZXMgU0VUIE5VTEwKKy0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVy MnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdb Niw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxVRVMg KCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJyk7CitBTFRF UiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9m a19wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9ma19wZXIycm5nX2ZrCisg ICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZCwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5D RVMgdGVtcG9yYWxfcm5nCisgICAgT04gREVMRVRFIFNFVCBOVUxMIE9OIFVQREFURSBTRVQgTlVM TDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZyBGT1Ig UE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VU IGlkID0gJ1s3LDgpJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFs X2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7 CistLSBub24tRlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcgU0VUIGlkID0gJ1s3LDgp JyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZh bGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1sy MDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5n IChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAw XScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3Jh bF9ybmcgU0VUIGlkID0gJ1s5LDEwKScgV0hFUkUgaWQgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBA PiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcg V0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0 ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgTlVMTAorLS0KKworVFJVTkNBVEUgdGVtcG9y YWxfcm5nLCB0ZW1wb3JhbF9ma19wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChp ZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEt MDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZS T00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEn IFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBp ZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJl ZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBW QUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8g dGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAx LDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4 LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3Ju ZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsK K1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRh dGVzIFNFVCBERUZBVUxUCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcsIHRlbXBvcmFsX2Zr X3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVT ICgnWy0xLC0xXScsICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlk X2F0KSBWQUxVRVMgKCdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJU IElOVE8gdGVtcG9yYWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFy ZW50X2lkKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywg J1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9ma19wZXIycm5nCisgIEFMVEVSIENPTFVN TiBwYXJlbnRfaWQgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmtfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmtfcGVyMnJu Z19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBS RUZFUkVOQ0VTIHRlbXBvcmFsX3JuZworICAgIE9OIERFTEVURSBTRVQgREVGQVVMVCBPTiBVUERB VEUgU0VUIERFRkFVTFQ7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK1VQREFURSB0ZW1w b3JhbF9ybmcgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIw MjAtMDEtMDEnIFNFVCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICog RlJPTSB0ZW1wb3JhbF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkg aWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5nIFNF VCBpZCA9ICdbNyw4KScgV0hFUkUgaWQgPSAnWzYsNyknOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3Jh bF9ybmcgKGlkLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0w MS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9y YWxfZmtfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkKSBWQUxV RVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJyk7CitV UERBVEUgdGVtcG9yYWxfcm5nIFNFVCBpZCA9ICdbOSwxMCknIFdIRVJFIGlkID0gJ1s4LDkpJyBB TkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3Jh bF9ma19wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0 OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIERFRkFVTFQKKy0tCisK K1RSVU5DQVRFIHRlbXBvcmFsX3JuZywgdGVtcG9yYWxfZmtfcGVyMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbLTEsLTFdJywgJygsKScpOwor SU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywg J1syMDE4LTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ma19wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1sxMDAs MTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknKTsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nIEZPUiBQT1JUSU9OIE9G IHZhbGlkX2F0IEZST00gJzIwMTktMDEtMDEnIFRPICcyMDIwLTAxLTAxJyBXSEVSRSBpZCA9ICdb Niw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEw MCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RFTEVU RSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRl bXBvcmFsX2ZrX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFs aWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRl bXBvcmFsX3JuZyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdbMjAxOC0wMS0wMSwy MDIwLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nIChpZCwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0 ZW1wb3JhbF9ma19wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQp IFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzgsOSkn KTsKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZyBXSEVSRSBpZCA9ICdbOCw5KScgQU5EIHZhbGlk X2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmtfcGVy MnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0K Ky0tIHRlc3QgRksgcmVmZXJlbmNlZCB1cGRhdGVzIENBU0NBREUgKHR3byBzY2FsYXIgY29scykK Ky0tCisKK1RSVU5DQVRFIHRlbXBvcmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5T RVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3 KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVt cG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEs IHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEt MDEnLCAnWzYsNyknLCAnWzYsNyknKTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5n CisgIERST1AgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNU UkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lk MSwgcGFyZW50X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxf cm5nMgorICAgIE9OIERFTEVURSBDQVNDQURFIE9OIFVQREFURSBDQVNDQURFOworLS0gbGVmdG92 ZXJzIG9uIGJvdGggc2lkZXM6CitVUERBVEUgdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2 YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgU0VUIGlkMSA9ICdbNyw4 KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJy bmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24t RlBPIHVwZGF0ZToKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzcsOCknIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworVVBEQVRFIHRlbXBvcmFsX3JuZzIg U0VUIGlkMSA9ICdbOSwxMCknIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcy MDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hF UkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0 IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBDQVNDQURFICh0d28gc2NhbGFyIGNvbHMpCistLQorCitU UlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYs NyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2 LDcpJywgJ1s2LDcpJyk7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9N IHRlbXBvcmFsX3JuZzIgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScg VE8gJzIwMjAtMDEtMDEnIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBv cmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlk X2F0OworLS0gbm9uLUZQTyBkZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJF IGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJF IGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3 byByZWZlcmVuY2VkIHJvd3M6CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwg dmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEt MDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZB TFVFUyAoJ1s4LDkpJywgJ1s4LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNF UlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwg cGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEn LCAnMjAyMS0wMS0wMScsICdbOCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxf cm5nMiBXSEVSRSBpZDEgPSAnWzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRh dGU7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAs MjAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2Vk IHVwZGF0ZXMgU0VUIE5VTEwgKHR3byBzY2FsYXIgY29scykKKy0tCisKK1RSVU5DQVRFIHRlbXBv cmFsX3JuZzIsIHRlbXBvcmFsX2ZrMl9wZXIycm5nOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5n MiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0w MS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlk LCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAo J1sxMDAsMTAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNykn KTsKK0FMVEVSIFRBQkxFIHRlbXBvcmFsX2ZrMl9wZXIycm5nCisgIERST1AgQ09OU1RSQUlOVCB0 ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3Bl cjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50X2lkMiwgUEVSSU9E IHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAgIE9OIERFTEVURSBT RVQgTlVMTCBPTiBVUERBVEUgU0VUIE5VTEw7CistLSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoK K1VQREFURSB0ZW1wb3JhbF9ybmcyIEZPUiBQT1JUSU9OIE9GIHZhbGlkX2F0IEZST00gJzIwMTkt MDEtMDEnIFRPICcyMDIwLTAxLTAxJyBTRVQgaWQxID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYs NyknOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAw LDEwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIG5vbi1GUE8gdXBkYXRlOgorVVBEQVRF IHRlbXBvcmFsX3JuZzIgU0VUIGlkMSA9ICdbNyw4KScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NF TEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBP UkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgs OSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2Zr Ml9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRf aWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4 LDkpJywgJ1s4LDkpJyk7CitVUERBVEUgdGVtcG9yYWxfcm5nMiBTRVQgaWQxID0gJ1s5LDEwKScg V0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIwMTktMDEtMDEnOjpkYXRlOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMjAwLDIwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3QgRksgcmVmZXJlbmNlZCBkZWxl dGVzIFNFVCBOVUxMICh0d28gc2NhbGFyIGNvbHMpCistLQorCitUUlVOQ0FURSB0ZW1wb3JhbF9y bmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlk MSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEs MjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFs aWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAw LDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7Cist LSBsZWZ0b3ZlcnMgb24gYm90aCBzaWRlczoKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgRk9S IFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFdI RVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdI RVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyBk ZWxldGU6CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitT RUxFQ1QgKiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScg T1JERVIgQlkgaWQsIHZhbGlkX2F0OworLS0gRksgYWNyb3NzIHR3byByZWZlcmVuY2VkIHJvd3M6 CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAo J1s4LDkpJywgJ1s4LDkpJywgJ1syMDE4LTAxLTAxLDIwMjAtMDEtMDEpJyk7CitJTlNFUlQgSU5U TyB0ZW1wb3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s4LDkpJywgJ1s4 LDkpJywgJ1syMDIwLTAxLTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9m azJfcGVyMnJuZyAoaWQsIHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50 X2lkMikgVkFMVUVTICgnWzIwMCwyMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdb OCw5KScsICdbOCw5KScpOworREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBXSEVSRSBpZDEgPSAn WzgsOSknIEFORCB2YWxpZF9hdCBAPiAnMjAxOS0wMS0wMSc6OmRhdGU7CitTRUxFQ1QgKiBGUk9N IHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1syMDAsMjAwXScgT1JERVIgQlkgaWQs IHZhbGlkX2F0OworCistLQorLS0gdGVzdCBGSyByZWZlcmVuY2VkIGRlbGV0ZXMgU0VUIE5VTEwg KHR3byBzY2FsYXIgY29scywgU0VUIE5VTEwgc3Vic2V0KQorLS0KKworVFJVTkNBVEUgdGVtcG9y YWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9ybmcy IChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1s2LDcpJywgJ1s2LDcpJywgJ1syMDE4LTAx LTAxLDIwMjEtMDEtMDEpJyk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazJfcGVyMnJuZyAoaWQs IHZhbGlkX2Zyb20sIHZhbGlkX3RpbCwgcGFyZW50X2lkMSwgcGFyZW50X2lkMikgVkFMVUVTICgn WzEwMCwxMDBdJywgJzIwMTgtMDEtMDEnLCAnMjAyMS0wMS0wMScsICdbNiw3KScsICdbNiw3KScp OworLS0gZmFpbHMgYmVjYXVzZSB5b3UgY2FuJ3Qgc2V0IHRoZSBQRVJJT0QgY29sdW1uOgorQUxU RVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFs X2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19m aworICAgIEZPUkVJR04gS0VZIChwYXJlbnRfaWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRf YXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3JhbF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBOVUxM ICh2YWxpZF9hdCkgT04gVVBEQVRFIFNFVCBOVUxMOworLS0gb2s6CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9mazJfcGVyMnJuZworICBEUk9QIENPTlNUUkFJTlQgdGVtcG9yYWxfZmsyX3BlcjJybmdf ZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrCisgICAgRk9SRUlH TiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZF UkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VUIE5VTEwgKHBhcmVudF9pZDEp IE9OIFVQREFURSBTRVQgTlVMTDsKKy0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRF IEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAx LTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00g dGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwg dmFsaWRfYXQ7CistLSBub24tRlBPIGRlbGV0ZToKK0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIg V0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcg V0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jv c3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAy MC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9h dCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1w b3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAx Jzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAn WzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVy ZW5jZWQgdXBkYXRlcyBTRVQgREVGQVVMVCAodHdvIHNjYWxhciBjb2xzKQorLS0KKworVFJVTkNB VEUgdGVtcG9yYWxfcm5nMiwgdGVtcG9yYWxfZmsyX3BlcjJybmc7CitJTlNFUlQgSU5UTyB0ZW1w b3JhbF9ybmcyIChpZDEsIGlkMiwgdmFsaWRfYXQpIFZBTFVFUyAoJ1stMSwtMV0nLCAnWy0xLC0x XScsICcoLCknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9h dCkgVkFMVUVTICgnWzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRf dGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0w MS0wMScsICcyMDIxLTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CitBTFRFUiBUQUJMRSB0ZW1w b3JhbF9mazJfcGVyMnJuZworICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAn Wy0xLC0xXScsCisgIEFMVEVSIENPTFVNTiBwYXJlbnRfaWQyIFNFVCBERUZBVUxUICdbLTEsLTFd JywKKyAgRFJPUCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIycm5nX2ZrLAorICBBREQgQ09O U1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maworICAgIEZPUkVJR04gS0VZIChwYXJlbnRf aWQxLCBwYXJlbnRfaWQyLCBQRVJJT0QgdmFsaWRfYXQpCisgICAgUkVGRVJFTkNFUyB0ZW1wb3Jh bF9ybmcyCisgICAgT04gREVMRVRFIFNFVCBERUZBVUxUIE9OIFVQREFURSBTRVQgREVGQVVMVDsK Ky0tIGxlZnRvdmVycyBvbiBib3RoIHNpZGVzOgorVVBEQVRFIHRlbXBvcmFsX3JuZzIgRk9SIFBP UlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAtMDEtMDEnIFNFVCBp ZDEgPSAnWzcsOCknLCBpZDIgPSAnWzcsOCknIFdIRVJFIGlkMSA9ICdbNiw3KSc7CitTRUxFQ1Qg KiBGUk9NIHRlbXBvcmFsX2ZrMl9wZXIycm5nIFdIRVJFIGlkID0gJ1sxMDAsMTAwXScgT1JERVIg QlkgaWQsIHZhbGlkX2F0OworLS0gbm9uLUZQTyB1cGRhdGU6CitVUERBVEUgdGVtcG9yYWxfcm5n MiBTRVQgaWQxID0gJ1s3LDgpJywgaWQyID0gJ1s3LDgpJyBXSEVSRSBpZDEgPSAnWzYsNyknOwor U0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVSRSBpZCA9ICdbMTAwLDEwMF0n IE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKy0tIEZLIGFjcm9zcyB0d28gcmVmZXJlbmNlZCByb3dz OgorSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMg KCdbOCw5KScsICdbOCw5KScsICdbMjAxOC0wMS0wMSwyMDIwLTAxLTAxKScpOworSU5TRVJUIElO VE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsICdb OCw5KScsICdbMjAyMC0wMS0wMSwyMDIxLTAxLTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxf ZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9tLCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVu dF9pZDIpIFZBTFVFUyAoJ1syMDAsMjAwXScsICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAn WzgsOSknLCAnWzgsOSknKTsKK1VQREFURSB0ZW1wb3JhbF9ybmcyIFNFVCBpZDEgPSAnWzksMTAp JywgaWQyID0gJ1s5LDEwKScgV0hFUkUgaWQxID0gJ1s4LDkpJyBBTkQgdmFsaWRfYXQgQD4gJzIw MTktMDEtMDEnOjpkYXRlOworU0VMRUNUICogRlJPTSB0ZW1wb3JhbF9mazJfcGVyMnJuZyBXSEVS RSBpZCA9ICdbMjAwLDIwMF0nIE9SREVSIEJZIGlkLCB2YWxpZF9hdDsKKworLS0KKy0tIHRlc3Qg RksgcmVmZXJlbmNlZCBkZWxldGVzIFNFVCBERUZBVUxUICh0d28gc2NhbGFyIGNvbHMpCistLQor CitUUlVOQ0FURSB0ZW1wb3JhbF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScs ICdbLTEsLTFdJywgJygsKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfcm5nMiAoaWQxLCBpZDIs IHZhbGlkX2F0KSBWQUxVRVMgKCdbNiw3KScsICdbNiw3KScsICdbMjAxOC0wMS0wMSwyMDIxLTAx LTAxKScpOworSU5TRVJUIElOVE8gdGVtcG9yYWxfZmsyX3BlcjJybmcgKGlkLCB2YWxpZF9mcm9t LCB2YWxpZF90aWwsIHBhcmVudF9pZDEsIHBhcmVudF9pZDIpIFZBTFVFUyAoJ1sxMDAsMTAwXScs ICcyMDE4LTAxLTAxJywgJzIwMjEtMDEtMDEnLCAnWzYsNyknLCAnWzYsNyknKTsKKy0tIGxlZnRv dmVycyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElP TiBPRiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQx ID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQg PSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToK K0RFTEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAq IEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBC WSBpZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSkn LCAnWzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBv cmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAn WzIwMjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIy cm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBW QUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIxLTAxLTAxJywgJ1s4LDkpJywg J1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9ybmcyIFdIRVJFIGlkMSA9ICdbOCw5KScg QU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9y YWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwyMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRf YXQ7CisKKy0tCistLSB0ZXN0IEZLIHJlZmVyZW5jZWQgZGVsZXRlcyBTRVQgREVGQVVMVCAodHdv IHNjYWxhciBjb2xzLCBTRVQgREVGQVVMVCBzdWJzZXQpCistLQorCitUUlVOQ0FURSB0ZW1wb3Jh bF9ybmcyLCB0ZW1wb3JhbF9mazJfcGVyMnJuZzsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIg KGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbNiw3KScsICcoLCknKTsK K0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgn WzYsNyknLCAnWzYsNyknLCAnWzIwMTgtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRP IHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBwYXJlbnRf aWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMTAwLDEwMF0nLCAnMjAxOC0wMS0wMScsICcyMDIx LTAxLTAxJywgJ1s2LDcpJywgJ1s2LDcpJyk7CistLSBmYWlscyBiZWNhdXNlIHlvdSBjYW4ndCBz ZXQgdGhlIFBFUklPRCBjb2x1bW46CitBTFRFUiBUQUJMRSB0ZW1wb3JhbF9mazJfcGVyMnJuZwor ICBBTFRFUiBDT0xVTU4gcGFyZW50X2lkMSBTRVQgREVGQVVMVCAnWy0xLC0xXScsCisgIERST1Ag Q09OU1RSQUlOVCB0ZW1wb3JhbF9mazJfcGVyMnJuZ19maywKKyAgQUREIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3BlcjJybmdfZmsKKyAgICBGT1JFSUdOIEtFWSAocGFyZW50X2lkMSwgcGFyZW50 X2lkMiwgUEVSSU9EIHZhbGlkX2F0KQorICAgIFJFRkVSRU5DRVMgdGVtcG9yYWxfcm5nMgorICAg IE9OIERFTEVURSBTRVQgREVGQVVMVCAodmFsaWRfYXQpIE9OIFVQREFURSBTRVQgREVGQVVMVDsK Ky0tIG9rOgorQUxURVIgVEFCTEUgdGVtcG9yYWxfZmsyX3BlcjJybmcKKyAgQUxURVIgQ09MVU1O IHBhcmVudF9pZDEgU0VUIERFRkFVTFQgJ1stMSwtMV0nLAorICBEUk9QIENPTlNUUkFJTlQgdGVt cG9yYWxfZmsyX3BlcjJybmdfZmssCisgIEFERCBDT05TVFJBSU5UIHRlbXBvcmFsX2ZrMl9wZXIy cm5nX2ZrCisgICAgRk9SRUlHTiBLRVkgKHBhcmVudF9pZDEsIHBhcmVudF9pZDIsIFBFUklPRCB2 YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzIKKyAgICBPTiBERUxFVEUgU0VU IERFRkFVTFQgKHBhcmVudF9pZDEpIE9OIFVQREFURSBTRVQgREVGQVVMVDsKKy0tIGxlZnRvdmVy cyBvbiBib3RoIHNpZGVzOgorREVMRVRFIEZST00gdGVtcG9yYWxfcm5nMiBGT1IgUE9SVElPTiBP RiB2YWxpZF9hdCBGUk9NICcyMDE5LTAxLTAxJyBUTyAnMjAyMC0wMS0wMScgV0hFUkUgaWQxID0g J1s2LDcpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAn WzEwMCwxMDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CistLSBub24tRlBPIHVwZGF0ZToKK0RF TEVURSBGUk9NIHRlbXBvcmFsX3JuZzIgV0hFUkUgaWQxID0gJ1s2LDcpJzsKK1NFTEVDVCAqIEZS T00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzEwMCwxMDBdJyBPUkRFUiBCWSBp ZCwgdmFsaWRfYXQ7CistLSBGSyBhY3Jvc3MgdHdvIHJlZmVyZW5jZWQgcm93czoKK0lOU0VSVCBJ TlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAn WzgsOSknLCAnWzIwMTgtMDEtMDEsMjAyMC0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFs X3JuZzIgKGlkMSwgaWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWzgsOSknLCAnWzgsOSknLCAnWzIw MjAtMDEtMDEsMjAyMS0wMS0wMSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3JuZzIgKGlkMSwg aWQyLCB2YWxpZF9hdCkgVkFMVUVTICgnWy0xLC0xXScsICdbOCw5KScsICcoLCknKTsKK0lOU0VS VCBJTlRPIHRlbXBvcmFsX2ZrMl9wZXIycm5nIChpZCwgdmFsaWRfZnJvbSwgdmFsaWRfdGlsLCBw YXJlbnRfaWQxLCBwYXJlbnRfaWQyKSBWQUxVRVMgKCdbMjAwLDIwMF0nLCAnMjAxOC0wMS0wMScs ICcyMDIxLTAxLTAxJywgJ1s4LDkpJywgJ1s4LDkpJyk7CitERUxFVEUgRlJPTSB0ZW1wb3JhbF9y bmcyIFdIRVJFIGlkMSA9ICdbOCw5KScgQU5EIHZhbGlkX2F0IEA+ICcyMDE5LTAxLTAxJzo6ZGF0 ZTsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmsyX3BlcjJybmcgV0hFUkUgaWQgPSAnWzIwMCwy MDBdJyBPUkRFUiBCWSBpZCwgdmFsaWRfYXQ7CisKKy0tIEZLIHdpdGggYSBjdXN0b20gcmFuZ2Ug dHlwZQorCitDUkVBVEUgVFlQRSBteWRhdGVyYW5nZSBBUyByYW5nZShzdWJ0eXBlPWRhdGUpOwor CitDUkVBVEUgVEFCTEUgdGVtcG9yYWxfcm5nMyAoCisgIGlkIGludDRyYW5nZSwKKyAgdmFsaWRf YXQgbXlkYXRlcmFuZ2UsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxfcm5nM19wayBQUklNQVJZIEtF WSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpCispOworQ1JFQVRFIFRBQkxFIHRlbXBv cmFsX2ZrM19ybmcycm5nICgKKyAgaWQgaW50NHJhbmdlLAorICB2YWxpZF9hdCBteWRhdGVyYW5n ZSwKKyAgcGFyZW50X2lkIGludDRyYW5nZSwKKyAgQ09OU1RSQUlOVCB0ZW1wb3JhbF9mazNfcm5n MnJuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0IFdJVEhPVVQgT1ZFUkxBUFMpLAorICBD T05TVFJBSU5UIHRlbXBvcmFsX2ZrM19ybmcycm5nX2ZrIEZPUkVJR04gS0VZIChwYXJlbnRfaWQs IFBFUklPRCB2YWxpZF9hdCkKKyAgICBSRUZFUkVOQ0VTIHRlbXBvcmFsX3JuZzMgKGlkLCBQRVJJ T0QgdmFsaWRfYXQpIE9OIERFTEVURSBDQVNDQURFCispOworSU5TRVJUIElOVE8gdGVtcG9yYWxf cm5nMyAoaWQsIHZhbGlkX2F0KSBWQUxVRVMgKCdbOCw5KScsIG15ZGF0ZXJhbmdlKCcyMDE4LTAx LTAxJywgJzIwMjEtMDEtMDEnKSk7CitJTlNFUlQgSU5UTyB0ZW1wb3JhbF9mazNfcm5nMnJuZyAo aWQsIHZhbGlkX2F0LCBwYXJlbnRfaWQpIFZBTFVFUyAoJ1s1LDYpJywgbXlkYXRlcmFuZ2UoJzIw MTgtMDEtMDEnLCAnMjAyMS0wMS0wMScpLCAnWzgsOSknKTsKK0RFTEVURSBGUk9NIHRlbXBvcmFs X3JuZzMgRk9SIFBPUlRJT04gT0YgdmFsaWRfYXQgRlJPTSAnMjAxOS0wMS0wMScgVE8gJzIwMjAt MDEtMDEnIFdIRVJFIGlkID0gJ1s4LDkpJzsKK1NFTEVDVCAqIEZST00gdGVtcG9yYWxfZmszX3Ju ZzJybmcgV0hFUkUgaWQgPSAnWzUsNiknOworCitEUk9QIFRBQkxFIHRlbXBvcmFsX2ZrM19ybmcy cm5nOworRFJPUCBUQUJMRSB0ZW1wb3JhbF9ybmczOworRFJPUCBUWVBFIG15ZGF0ZXJhbmdlOwor CistLQorLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IHJhbmdlcworLS0KKworQ1JF QVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3JuZyAoCisgIGlkIGludDRyYW5nZSwKKyAg dmFsaWRfYXQgZGF0ZXJhbmdlLAorICBuYW1lIHRleHQsCisgIENPTlNUUkFJTlQgdGVtcG9yYWxf cGFyaXRpb25lZF9ybmdfcGsgUFJJTUFSWSBLRVkgKGlkLCB2YWxpZF9hdCBXSVRIT1VUIE9WRVJM QVBTKQorKSBQQVJUSVRJT04gQlkgTElTVCAoaWQpOworQ1JFQVRFIFRBQkxFIHRwMSBQQVJUSVRJ T04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZPUiBWQUxVRVMgSU4gKCdbMSwyKScsICdb Myw0KScsICdbNSw2KScsICdbNyw4KScsICdbOSwxMCknLCAnWzExLDEyKScsICdbMTMsMTQpJywg J1sxNSwxNiknLCAnWzE3LDE4KScsICdbMTksMjApJywgJ1syMSwyMiknLCAnWzIzLDI0KScpOwor Q1JFQVRFIFRBQkxFIHRwMiBQQVJUSVRJT04gT0YgdGVtcG9yYWxfcGFydGl0aW9uZWRfcm5nIEZP UiBWQUxVRVMgSU4gKCdbMCwxKScsICdbMiwzKScsICdbNCw1KScsICdbNiw3KScsICdbOCw5KScs ICdbMTAsMTEpJywgJ1sxMiwxMyknLCAnWzE0LDE1KScsICdbMTYsMTcpJywgJ1sxOCwxOSknLCAn WzIwLDIxKScsICdbMjIsMjMpJywgJ1syNCwyNSknKTsKK0lOU0VSVCBJTlRPIHRlbXBvcmFsX3Bh cnRpdGlvbmVkX3JuZyAoaWQsIHZhbGlkX2F0LCBuYW1lKSBWQUxVRVMKKyAgKCdbMSwyKScsIGRh dGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDAwLTAyLTAxJyksICdvbmUnKSwKKyAgKCdbMSwyKScs IGRhdGVyYW5nZSgnMjAwMC0wMi0wMScsICcyMDAwLTAzLTAxJyksICdvbmUnKSwKICAgKCdbMiwz KScsIGRhdGVyYW5nZSgnMjAwMC0wMS0wMScsICcyMDEwLTAxLTAxJyksICd0d28nKTsKIAogQ1JF QVRFIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX2ZrX3JuZzJybmcgKApAQCAtMzAwNyw0ICs1 OTk1LDE5IEBAIFNFTEVDVCAqIEZST00gdGVtcG9yYWxfcGFydGl0aW9uZWRfZmtfbWx0cm5nMm1s dHJuZyBXSEVSRSBpZCA9ICdbMTUsMTYpJzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9u ZWRfZmtfbWx0cm5nMm1sdHJuZzsKIERST1AgVEFCTEUgdGVtcG9yYWxfcGFydGl0aW9uZWRfbWx0 cm5nOwogCistLQorLS0gRksgYmV0d2VlbiBwYXJ0aXRpb25lZCB0YWJsZXM6IFBFUklPRHMKKy0t CisKK0NSRUFURSBUQUJMRSB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9wZXIgKAorICBpZCBpbnQ0cmFu Z2UsCisgIHZhbGlkX2Zyb20gZGF0ZSwKKyAgdmFsaWRfdGlsIGRhdGUsCisgIG5hbWUgdGV4dCwK KyAgUEVSSU9EIEZPUiB2YWxpZF9hdCAodmFsaWRfZnJvbSwgdmFsaWRfdGlsKSwKKyAgQ09OU1RS QUlOVCB0ZW1wb3JhbF9wYXJpdGlvbmVkX3JuZ19wayBQUklNQVJZIEtFWSAoaWQsIHZhbGlkX2F0 IFdJVEhPVVQgT1ZFUkxBUFMpCispIFBBUlRJVElPTiBCWSBMSVNUIChpZCk7CitDUkVBVEUgVEFC TEUgdHAxIFBBUlRJVElPTiBPRiB0ZW1wb3JhbF9wYXJ0aXRpb25lZF9wZXIgRk9SIFZBTFVFUyBJ TiAoJ1sxLDIpJywgJ1szLDQpJywgJ1s1LDYpJywgJ1s3LDgpJywgJ1s5LDEwKScsICdbMTEsMTIp JywgJ1sxMywxNCknLCAnWzE1LDE2KScsICdbMTcsMTgpJywgJ1sxOSwyMCknLCAnWzIxLDIyKScs ICdbMjMsMjQpJyk7CitEUk9QIFRBQkxFIHRlbXBvcmFsX3BhcnRpdGlvbmVkX3BlcjsKKwogUkVT RVQgZGF0ZXN0eWxlOwpkaWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxp c3QgYi9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdAppbmRleCAzYWZhNzg3NjViMy4u MGVkNDBlOTYyZGMgMTAwNjQ0Ci0tLSBhL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0 CisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CkBAIC04ODcsNiArODg3LDcg QEAgRm9ybURhdGFfcGdfb3BjbGFzcwogRm9ybURhdGFfcGdfb3BlcmF0b3IKIEZvcm1EYXRhX3Bn X29wZmFtaWx5CiBGb3JtRGF0YV9wZ19wYXJ0aXRpb25lZF90YWJsZQorRm9ybURhdGFfcGdfcGVy aW9kCiBGb3JtRGF0YV9wZ19wb2xpY3kKIEZvcm1EYXRhX3BnX3Byb2MKIEZvcm1EYXRhX3BnX3B1 YmxpY2F0aW9uCkBAIC0yMTYxLDYgKzIxNjIsOCBAQCBQZW5kaW5nVW5saW5rRW50cnkKIFBlbmRp bmdXcml0ZQogUGVuZGluZ1dyaXRlYmFjawogUGVyTG9ja1RhZ0VudHJ5CitQZXJpb2REZWYKK1Bl cmlvZEluZm8KIFBlcmxJbnRlcnByZXRlcgogUGVybF9wcGFkZHJfdAogUGVybXV0YXRpb24KLS0g CjIuMzkuNQoK --000000000000009ee706410496f4--