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 1qr5vY-002WTL-4G for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Oct 2023 00:21:16 +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 1qr5vU-00CJ5A-3U for pgsql-hackers@arkaria.postgresql.org; Fri, 13 Oct 2023 00:21:12 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qr5vT-00CJ51-NX for pgsql-hackers@lists.postgresql.org; Fri, 13 Oct 2023 00:21:12 +0000 Received: from relay1-d.mail.gandi.net ([2001:4b98:dc4:8::221]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qr5vK-000G6g-M1 for pgsql-hackers@lists.postgresql.org; Fri, 13 Oct 2023 00:21:11 +0000 Received: by mail.gandi.net (Postfix) with ESMTPSA id E7DE6240003; Fri, 13 Oct 2023 00:20:59 +0000 (UTC) Content-Type: multipart/mixed; boundary="------------U1cT7DD0qONIhYTMPUL7inHP" Message-ID: Date: Fri, 13 Oct 2023 02:20:59 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Add support for AT LOCAL Content-Language: en-US To: Michael Paquier Cc: cary huang , pgsql-hackers@lists.postgresql.org References: <8e25dec4-5667-c1a5-6581-167d710c2182@postgresfriends.org> <169541920143.2315938.17412414971559687288.pgcf@coridan.postgresql.org> From: Vik Fearing In-Reply-To: X-GND-Sasl: vik@postgresfriends.org List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------U1cT7DD0qONIhYTMPUL7inHP Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 10/10/23 05:34, Michael Paquier wrote: > I am attaching a v5 that addresses the documentation bits, could you > look at the business with date.c? Here is a v6 which hopefully addresses all of your concerns. -- Vik Fearing --------------U1cT7DD0qONIhYTMPUL7inHP Content-Type: text/x-patch; charset=UTF-8; name="v6-0001-Add-support-for-AT-LOCAL.patch" Content-Disposition: attachment; filename="v6-0001-Add-support-for-AT-LOCAL.patch" Content-Transfer-Encoding: base64 RnJvbSAwNDJjZTliNTgxY2EzYjE3YWZiZjIyOWQyMDljYTU5YWRkYjZjOWEyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBWaWsgRmVhcmluZyA8dmlrQHBvc3RncmVzZnJpZW5k cy5vcmc+CkRhdGU6IFdlZCwgNCBPY3QgMjAyMyAxNTo0NjozOCArMDEwMApTdWJqZWN0OiBb UEFUQ0ggdjZdIEFkZCBzdXBwb3J0IGZvciBBVCBMT0NBTAoKV2hlbiBjb252ZXJ0aW5nIGEg dGltZXN0YW1wIHRvL2Zyb20gd2l0aC93aXRob3V0IHRpbWUgem9uZSwgdGhlIFNRTApTdGFu ZGFyZCBzcGVjaWZpZXMgYW4gQVQgTE9DQUwgdmFyaWFudCBvZiBBVCBUSU1FIFpPTkUgd2hp Y2ggdXNlcyB0aGUKc2Vzc2lvbidzIHRpbWUgem9uZS4KLS0tCiBkb2Mvc3JjL3NnbWwvZnVu Yy5zZ21sICAgICAgICAgICAgICAgICAgICB8IDEwMyArKysrKysrKysrKysrKysrKysrKyst CiBzcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55ICAgICAgICAgICAgICAgICB8ICAgNyArKwog c3JjL2JhY2tlbmQvdXRpbHMvYWR0L2RhdGUuYyAgICAgICAgICAgICAgfCAgMTQgKysrCiBz cmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMgICAgICAgICB8ICAxMCArKysKIHNy Yy9iYWNrZW5kL3V0aWxzL2FkdC90aW1lc3RhbXAuYyAgICAgICAgIHwgIDIwICsrKysrCiBz cmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0ICAgICAgICAgICB8ICAgOSArKwogc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC90aW1lc3RhbXB0ei5vdXQgfCAgNDcgKysrKysrKysr Kwogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90aW1ldHoub3V0ICAgICAgfCAgMzkgKysr KysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RpbWVzdGFtcHR6LnNxbCAgICAgIHwgIDIx ICsrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC90aW1ldHouc3FsICAgICAgICAgICB8ICAx NyArKysrCiAxMCBmaWxlcyBjaGFuZ2VkLCAyODQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sIGIvZG9jL3NyYy9z Z21sL2Z1bmMuc2dtbAppbmRleCBmMWFkNjRjM2Q2Li5jZTYyY2IzN2I1IDEwMDY0NAotLS0g YS9kb2Mvc3JjL3NnbWwvZnVuYy5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9mdW5jLnNnbWwK QEAgLTEwNjA0LDQyICsxMDYwNCw0NiBAQCBTRUxFQ1QgZGF0ZV9iaW4oJzE1IG1pbnV0ZXMn LCBUSU1FU1RBTVAgJzIwMjAtMDItMTEgMTU6NDQ6MTcnLCBUSU1FU1RBTVAgJzIwMDEtMAog ICAgIHRoYXQgPGZ1bmN0aW9uPmRhdGVfYmluPC9mdW5jdGlvbj4gY2FuIHRydW5jYXRlIHRv IGFuIGFyYml0cmFyeSBpbnRlcnZhbC4KICAgIDwvcGFyYT4KIAogICAgPHBhcmE+CiAgICAg VGhlIDxwYXJhbWV0ZXI+c3RyaWRlPC9wYXJhbWV0ZXI+IGludGVydmFsIG11c3QgYmUgZ3Jl YXRlciB0aGFuIHplcm8gYW5kCiAgICAgY2Fubm90IGNvbnRhaW4gdW5pdHMgb2YgbW9udGgg b3IgbGFyZ2VyLgogICAgPC9wYXJhPgogICA8L3NlY3QyPgogCiAgIDxzZWN0MiBpZD0iZnVu Y3Rpb25zLWRhdGV0aW1lLXpvbmVjb252ZXJ0Ij4KLSAgIDx0aXRsZT48bGl0ZXJhbD5BVCBU SU1FIFpPTkU8L2xpdGVyYWw+PC90aXRsZT4KKyAgIDx0aXRsZT48bGl0ZXJhbD5BVCBUSU1F IFpPTkUgYW5kIEFUIExPQ0FMPC9saXRlcmFsPjwvdGl0bGU+CiAKICAgIDxpbmRleHRlcm0+ CiAgICAgPHByaW1hcnk+dGltZSB6b25lPC9wcmltYXJ5PgogICAgIDxzZWNvbmRhcnk+Y29u dmVyc2lvbjwvc2Vjb25kYXJ5PgogICAgPC9pbmRleHRlcm0+CiAKICAgIDxpbmRleHRlcm0+ CiAgICAgPHByaW1hcnk+QVQgVElNRSBaT05FPC9wcmltYXJ5PgogICAgPC9pbmRleHRlcm0+ CiAKKyAgIDxpbmRleHRlcm0+CisgICAgPHByaW1hcnk+QVQgTE9DQUw8L3ByaW1hcnk+Cisg ICA8L2luZGV4dGVybT4KKwogICAgPHBhcmE+CiAgICAgVGhlIDxsaXRlcmFsPkFUIFRJTUUg Wk9ORTwvbGl0ZXJhbD4gb3BlcmF0b3IgY29udmVydHMgdGltZQogICAgIHN0YW1wIDxlbXBo YXNpcz53aXRob3V0PC9lbXBoYXNpcz4gdGltZSB6b25lIHRvL2Zyb20KICAgICB0aW1lIHN0 YW1wIDxlbXBoYXNpcz53aXRoPC9lbXBoYXNpcz4gdGltZSB6b25lLCBhbmQKICAgICA8dHlw ZT50aW1lIHdpdGggdGltZSB6b25lPC90eXBlPiB2YWx1ZXMgdG8gZGlmZmVyZW50IHRpbWUK ICAgICB6b25lcy4gPHhyZWYgbGlua2VuZD0iZnVuY3Rpb25zLWRhdGV0aW1lLXpvbmVjb252 ZXJ0LXRhYmxlIi8+IHNob3dzIGl0cwogICAgIHZhcmlhbnRzLgogICAgPC9wYXJhPgogCiAg ICAgPHRhYmxlIGlkPSJmdW5jdGlvbnMtZGF0ZXRpbWUtem9uZWNvbnZlcnQtdGFibGUiPgot ICAgICA8dGl0bGU+PGxpdGVyYWw+QVQgVElNRSBaT05FPC9saXRlcmFsPiBWYXJpYW50czwv dGl0bGU+CisgICAgIDx0aXRsZT48bGl0ZXJhbD5BVCBUSU1FIFpPTkU8L2xpdGVyYWw+IGFu ZCA8bGl0ZXJhbD5BVCBMT0NBTDwvbGl0ZXJhbD4gVmFyaWFudHM8L3RpdGxlPgogICAgICA8 dGdyb3VwIGNvbHM9IjEiPgogICAgICAgPHRoZWFkPgogICAgICAgIDxyb3c+CiAgICAgICAg IDxlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJmdW5jX3NpZ25h dHVyZSI+CiAgICAgICAgICBPcGVyYXRvcgogICAgICAgICA8L3BhcmE+CiAgICAgICAgIDxw YXJhPgogICAgICAgICAgRGVzY3JpcHRpb24KICAgICAgICAgPC9wYXJhPgogICAgICAgICA8 cGFyYT4KQEAgLTEwNjU4LDkzICsxMDY2MiwxODYgQEAgU0VMRUNUIGRhdGVfYmluKCcxNSBt aW51dGVzJywgVElNRVNUQU1QICcyMDIwLTAyLTExIDE1OjQ0OjE3JywgVElNRVNUQU1QICcy MDAxLTAKICAgICAgICAgIENvbnZlcnRzIGdpdmVuIHRpbWUgc3RhbXAgPGVtcGhhc2lzPndp dGhvdXQ8L2VtcGhhc2lzPiB0aW1lIHpvbmUgdG8KICAgICAgICAgIHRpbWUgc3RhbXAgPGVt cGhhc2lzPndpdGg8L2VtcGhhc2lzPiB0aW1lIHpvbmUsIGFzc3VtaW5nIHRoZSBnaXZlbgog ICAgICAgICAgdmFsdWUgaXMgaW4gdGhlIG5hbWVkIHRpbWUgem9uZS4KICAgICAgICAgPC9w YXJhPgogICAgICAgICA8cGFyYT4KICAgICAgICAgIDxsaXRlcmFsPnRpbWVzdGFtcCAnMjAw MS0wMi0xNiAyMDozODo0MCcgYXQgdGltZSB6b25lICdBbWVyaWNhL0RlbnZlcic8L2xpdGVy YWw+CiAgICAgICAgICA8cmV0dXJudmFsdWU+MjAwMS0wMi0xNyAwMzozODo0MCswMDwvcmV0 dXJudmFsdWU+CiAgICAgICAgIDwvcGFyYT48L2VudHJ5PgogICAgICAgIDwvcm93PgogCisg ICAgICAgPHJvdz4KKyAgICAgICAgPGVudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiPjxw YXJhIHJvbGU9ImZ1bmNfc2lnbmF0dXJlIj4KKyAgICAgICAgIDx0eXBlPnRpbWVzdGFtcCB3 aXRob3V0IHRpbWUgem9uZTwvdHlwZT4gPGxpdGVyYWw+QVQgTE9DQUw8L2xpdGVyYWw+Cisg ICAgICAgICA8cmV0dXJudmFsdWU+dGltZXN0YW1wIHdpdGggdGltZSB6b25lPC9yZXR1cm52 YWx1ZT4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAgICAgICAgIENvbnZl cnRzIGdpdmVuIHRpbWUgc3RhbXAgPGVtcGhhc2lzPndpdGhvdXQ8L2VtcGhhc2lzPiB0aW1l IHpvbmUgdG8KKyAgICAgICAgIHRpbWUgc3RhbXAgPGVtcGhhc2lzPndpdGg8L2VtcGhhc2lz PiB0aGUgc2Vzc2lvbidzCisgICAgICAgICA8dmFybmFtZT5UaW1lWm9uZTwvdmFybmFtZT4g dmFsdWUgYXMgdGltZSB6b25lLgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxwYXJhPgor ICAgICAgICAgPGxpdGVyYWw+dGltZXN0YW1wICcyMDAxLTAyLTE2IDIwOjM4OjQwJyBhdCBs b2NhbDwvbGl0ZXJhbD4KKyAgICAgICAgIDxyZXR1cm52YWx1ZT4yMDAxLTAyLTE3IDAzOjM4 OjQwKzAwPC9yZXR1cm52YWx1ZT4KKyAgICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgICAg PC9yb3c+CisKICAgICAgICA8cm93PgogICAgICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJs ZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiPgogICAgICAgICAgPHR5cGU+ dGltZXN0YW1wIHdpdGggdGltZSB6b25lPC90eXBlPiA8bGl0ZXJhbD5BVCBUSU1FIFpPTkU8 L2xpdGVyYWw+IDxyZXBsYWNlYWJsZT56b25lPC9yZXBsYWNlYWJsZT4KICAgICAgICAgIDxy ZXR1cm52YWx1ZT50aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmU8L3JldHVybnZhbHVlPgog ICAgICAgICA8L3BhcmE+CiAgICAgICAgIDxwYXJhPgogICAgICAgICAgQ29udmVydHMgZ2l2 ZW4gdGltZSBzdGFtcCA8ZW1waGFzaXM+d2l0aDwvZW1waGFzaXM+IHRpbWUgem9uZSB0bwog ICAgICAgICAgdGltZSBzdGFtcCA8ZW1waGFzaXM+d2l0aG91dDwvZW1waGFzaXM+IHRpbWUg em9uZSwgYXMgdGhlIHRpbWUgd291bGQKICAgICAgICAgIGFwcGVhciBpbiB0aGF0IHpvbmUu CiAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPHBhcmE+CiAgICAgICAgICA8bGl0ZXJhbD50 aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgJzIwMDEtMDItMTYgMjA6Mzg6NDAtMDUnIGF0IHRp bWUgem9uZSAnQW1lcmljYS9EZW52ZXInPC9saXRlcmFsPgogICAgICAgICAgPHJldHVybnZh bHVlPjIwMDEtMDItMTYgMTg6Mzg6NDA8L3JldHVybnZhbHVlPgogICAgICAgICA8L3BhcmE+ PC9lbnRyeT4KICAgICAgICA8L3Jvdz4KIAorICAgICAgIDxyb3c+CisgICAgICAgIDxlbnRy eSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSI+ CisgICAgICAgICA8dHlwZT50aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmU8L3R5cGU+IDxsaXRl cmFsPkFUIExPQ0FMPC9saXRlcmFsPgorICAgICAgICAgPHJldHVybnZhbHVlPnRpbWVzdGFt cCB3aXRob3V0IHRpbWUgem9uZTwvcmV0dXJudmFsdWU+CisgICAgICAgIDwvcGFyYT4KKyAg ICAgICAgPHBhcmE+CisgICAgICAgICBDb252ZXJ0cyBnaXZlbiB0aW1lIHN0YW1wIDxlbXBo YXNpcz53aXRoPC9lbXBoYXNpcz4gdGltZSB6b25lIHRvCisgICAgICAgICB0aW1lIHN0YW1w IDxlbXBoYXNpcz53aXRob3V0PC9lbXBoYXNpcz4gdGltZSB6b25lLCBhcyB0aGUgdGltZSB3 b3VsZAorICAgICAgICAgYXBwZWFyIHdpdGggdGhlIHNlc3Npb24ncyA8dmFybmFtZT5UaW1l Wm9uZTwvdmFybmFtZT4gdmFsdWUgYXMgdGltZSB6b25lLgorICAgICAgICA8L3BhcmE+Cisg ICAgICAgIDxwYXJhPgorICAgICAgICAgPGxpdGVyYWw+dGltZXN0YW1wIHdpdGggdGltZSB6 b25lICcyMDAxLTAyLTE2IDIwOjM4OjQwLTA1JyBhdCBsb2NhbDwvbGl0ZXJhbD4KKyAgICAg ICAgIDxyZXR1cm52YWx1ZT4yMDAxLTAyLTE2IDE4OjM4OjQwPC9yZXR1cm52YWx1ZT4KKyAg ICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgICAgPC9yb3c+CisKICAgICAgICA8cm93Pgog ICAgICAgICA8ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iZnVu Y19zaWduYXR1cmUiPgogICAgICAgICAgPHR5cGU+dGltZSB3aXRoIHRpbWUgem9uZTwvdHlw ZT4gPGxpdGVyYWw+QVQgVElNRSBaT05FPC9saXRlcmFsPiA8cmVwbGFjZWFibGU+em9uZTwv cmVwbGFjZWFibGU+CiAgICAgICAgICA8cmV0dXJudmFsdWU+dGltZSB3aXRoIHRpbWUgem9u ZTwvcmV0dXJudmFsdWU+CiAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPHBhcmE+CiAgICAg ICAgICBDb252ZXJ0cyBnaXZlbiB0aW1lIDxlbXBoYXNpcz53aXRoPC9lbXBoYXNpcz4gdGlt ZSB6b25lIHRvIGEgbmV3IHRpbWUKICAgICAgICAgIHpvbmUuICBTaW5jZSBubyBkYXRlIGlz IHN1cHBsaWVkLCB0aGlzIHVzZXMgdGhlIGN1cnJlbnRseSBhY3RpdmUgVVRDCiAgICAgICAg ICBvZmZzZXQgZm9yIHRoZSBuYW1lZCBkZXN0aW5hdGlvbiB6b25lLgogICAgICAgICA8L3Bh cmE+CiAgICAgICAgIDxwYXJhPgogICAgICAgICAgPGxpdGVyYWw+dGltZSB3aXRoIHRpbWUg em9uZSAnMDU6MzQ6MTctMDUnIGF0IHRpbWUgem9uZSAnVVRDJzwvbGl0ZXJhbD4KICAgICAg ICAgIDxyZXR1cm52YWx1ZT4xMDozNDoxNyswMDwvcmV0dXJudmFsdWU+CiAgICAgICAgIDwv cGFyYT48L2VudHJ5PgogICAgICAgIDwvcm93PgorCisgICAgICAgPHJvdz4KKyAgICAgICAg PGVudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiPjxwYXJhIHJvbGU9ImZ1bmNfc2lnbmF0 dXJlIj4KKyAgICAgICAgIDx0eXBlPnRpbWUgd2l0aCB0aW1lIHpvbmU8L3R5cGU+IDxsaXRl cmFsPkFUIExPQ0FMPC9saXRlcmFsPgorICAgICAgICAgPHJldHVybnZhbHVlPnRpbWUgd2l0 aCB0aW1lIHpvbmU8L3JldHVybnZhbHVlPgorICAgICAgICA8L3BhcmE+CisgICAgICAgIDxw YXJhPgorICAgICAgICAgQ29udmVydHMgZ2l2ZW4gdGltZSA8ZW1waGFzaXM+d2l0aDwvZW1w aGFzaXM+IHRpbWUgem9uZSB0byBhIG5ldyB0aW1lCisgICAgICAgICB6b25lLiAgU2luY2Ug bm8gZGF0ZSBpcyBzdXBwbGllZCwgdGhpcyB1c2VzIHRoZSBjdXJyZW50bHkgYWN0aXZlIFVU QworICAgICAgICAgb2Zmc2V0IGZvciB0aGUgc2Vzc2lvbidzIDx2YXJuYW1lPlRpbWVab25l PC92YXJuYW1lPiB2YWx1ZS4KKyAgICAgICAgPC9wYXJhPgorICAgICAgICA8cGFyYT4KKyAg ICAgICAgIEFzc3VtaW5nIHRoZSBzZXNzaW9uJ3MgPHZhcm5hbWU+VGltZVpvbmU8L3Zhcm5h bWU+IGlzIHNldCB0byA8bGl0ZXJhbD5VVEM8L2xpdGVyYWw+OgorICAgICAgICA8L3BhcmE+ CisgICAgICAgIDxwYXJhPgorICAgICAgICAgPGxpdGVyYWw+dGltZSB3aXRoIHRpbWUgem9u ZSAnMDU6MzQ6MTctMDUnIGF0IGxvY2FsPC9saXRlcmFsPgorICAgICAgICAgPHJldHVybnZh bHVlPjEwOjM0OjE3KzAwPC9yZXR1cm52YWx1ZT4KKyAgICAgICAgPC9wYXJhPjwvZW50cnk+ CisgICAgICAgPC9yb3c+CiAgICAgICA8L3Rib2R5PgogICAgICA8L3Rncm91cD4KICAgICA8 L3RhYmxlPgogCiAgICA8cGFyYT4KICAgICBJbiB0aGVzZSBleHByZXNzaW9ucywgdGhlIGRl c2lyZWQgdGltZSB6b25lIDxyZXBsYWNlYWJsZT56b25lPC9yZXBsYWNlYWJsZT4gY2FuIGJl CiAgICAgc3BlY2lmaWVkIGVpdGhlciBhcyBhIHRleHQgdmFsdWUgKGUuZy4sIDxsaXRlcmFs PidBbWVyaWNhL0xvc19BbmdlbGVzJzwvbGl0ZXJhbD4pCiAgICAgb3IgYXMgYW4gaW50ZXJ2 YWwgKGUuZy4sIDxsaXRlcmFsPklOVEVSVkFMICctMDg6MDAnPC9saXRlcmFsPikuCiAgICAg SW4gdGhlIHRleHQgY2FzZSwgYSB0aW1lIHpvbmUgbmFtZSBjYW4gYmUgc3BlY2lmaWVkIGlu IGFueSBvZiB0aGUgd2F5cwogICAgIGRlc2NyaWJlZCBpbiA8eHJlZiBsaW5rZW5kPSJkYXRh dHlwZS10aW1lem9uZXMiLz4uCiAgICAgVGhlIGludGVydmFsIGNhc2UgaXMgb25seSB1c2Vm dWwgZm9yIHpvbmVzIHRoYXQgaGF2ZSBmaXhlZCBvZmZzZXRzIGZyb20KICAgICBVVEMsIHNv IGl0IGlzIG5vdCB2ZXJ5IGNvbW1vbiBpbiBwcmFjdGljZS4KICAgIDwvcGFyYT4KIAorICAg PHBhcmE+CisgICAgVGhlIHN5bnRheCA8bGl0ZXJhbD5BVCBMT0NBTDwvbGl0ZXJhbD4gbWF5 IGJlIHVzZWQgYXMgc2hvcnRoYW5kIGZvcgorICAgIDxsaXRlcmFsPkFUIFRJTUUgWk9ORSA8 cmVwbGFjZWFibGU+bG9jYWw8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD4sIHdoZXJlCisgICAg PHJlcGxhY2VhYmxlPmxvY2FsPC9yZXBsYWNlYWJsZT4gaXMgdGhlIHNlc3Npb24ncworICAg IDx2YXJuYW1lPlRpbWVab25lPC92YXJuYW1lPiB2YWx1ZS4KKyAgIDwvcGFyYT4KKwogICAg PHBhcmE+CiAgICAgRXhhbXBsZXMgKGFzc3VtaW5nIHRoZSBjdXJyZW50IDx4cmVmIGxpbmtl bmQ9Imd1Yy10aW1lem9uZSIvPiBzZXR0aW5nCiAgICAgaXMgPGxpdGVyYWw+QW1lcmljYS9M b3NfQW5nZWxlczwvbGl0ZXJhbD4pOgogPHNjcmVlbj4KIFNFTEVDVCBUSU1FU1RBTVAgJzIw MDEtMDItMTYgMjA6Mzg6NDAnIEFUIFRJTUUgWk9ORSAnQW1lcmljYS9EZW52ZXInOwogPGxp bmVhbm5vdGF0aW9uPlJlc3VsdDogPC9saW5lYW5ub3RhdGlvbj48Y29tcHV0ZXJvdXRwdXQ+ MjAwMS0wMi0xNiAxOTozODo0MC0wODwvY29tcHV0ZXJvdXRwdXQ+CiAKIFNFTEVDVCBUSU1F U1RBTVAgV0lUSCBUSU1FIFpPTkUgJzIwMDEtMDItMTYgMjA6Mzg6NDAtMDUnIEFUIFRJTUUg Wk9ORSAnQW1lcmljYS9EZW52ZXInOwogPGxpbmVhbm5vdGF0aW9uPlJlc3VsdDogPC9saW5l YW5ub3RhdGlvbj48Y29tcHV0ZXJvdXRwdXQ+MjAwMS0wMi0xNiAxODozODo0MDwvY29tcHV0 ZXJvdXRwdXQ+CiAKIFNFTEVDVCBUSU1FU1RBTVAgJzIwMDEtMDItMTYgMjA6Mzg6NDAnIEFU IFRJTUUgWk9ORSAnQXNpYS9Ub2t5bycgQVQgVElNRSBaT05FICdBbWVyaWNhL0NoaWNhZ28n OwogPGxpbmVhbm5vdGF0aW9uPlJlc3VsdDogPC9saW5lYW5ub3RhdGlvbj48Y29tcHV0ZXJv dXRwdXQ+MjAwMS0wMi0xNiAwNTozODo0MDwvY29tcHV0ZXJvdXRwdXQ+CisKK1NFTEVDVCBU SU1FU1RBTVAgV0lUSCBUSU1FIFpPTkUgJzIwMDEtMDItMTYgMjA6Mzg6NDAtMDUnIEFUIExP Q0FMOworPGxpbmVhbm5vdGF0aW9uPlJlc3VsdDogPC9saW5lYW5ub3RhdGlvbj48Y29tcHV0 ZXJvdXRwdXQ+MjAwMS0wMi0xNiAxNzozODo0MDwvY29tcHV0ZXJvdXRwdXQ+CisKK1NFTEVD VCBUSU1FIFdJVEggVElNRSBaT05FICcyMDozODo0MC0wNScgQVQgTE9DQUw7Cis8bGluZWFu bm90YXRpb24+UmVzdWx0OiA8L2xpbmVhbm5vdGF0aW9uPjxjb21wdXRlcm91dHB1dD4xNzoz ODo0MDwvY29tcHV0ZXJvdXRwdXQ+CiA8L3NjcmVlbj4KICAgICBUaGUgZmlyc3QgZXhhbXBs ZSBhZGRzIGEgdGltZSB6b25lIHRvIGEgdmFsdWUgdGhhdCBsYWNrcyBpdCwgYW5kCiAgICAg ZGlzcGxheXMgdGhlIHZhbHVlIHVzaW5nIHRoZSBjdXJyZW50IDx2YXJuYW1lPlRpbWVab25l PC92YXJuYW1lPgogICAgIHNldHRpbmcuICBUaGUgc2Vjb25kIGV4YW1wbGUgc2hpZnRzIHRo ZSB0aW1lIHN0YW1wIHdpdGggdGltZSB6b25lIHZhbHVlCiAgICAgdG8gdGhlIHNwZWNpZmll ZCB0aW1lIHpvbmUsIGFuZCByZXR1cm5zIHRoZSB2YWx1ZSB3aXRob3V0IGEgdGltZSB6b25l LgogICAgIFRoaXMgYWxsb3dzIHN0b3JhZ2UgYW5kIGRpc3BsYXkgb2YgdmFsdWVzIGRpZmZl cmVudCBmcm9tIHRoZSBjdXJyZW50CiAgICAgPHZhcm5hbWU+VGltZVpvbmU8L3Zhcm5hbWU+ IHNldHRpbmcuICBUaGUgdGhpcmQgZXhhbXBsZSBjb252ZXJ0cwotICAgIFRva3lvIHRpbWUg dG8gQ2hpY2FnbyB0aW1lLgorICAgIFRva3lvIHRpbWUgdG8gQ2hpY2FnbyB0aW1lLiAgVGhl IGZvdXJ0aCBleGFtcGxlIHNoaWZ0cyB0aGUgdGltZSBzdGFtcAorICAgIHdpdGggdGltZSB6 b25lIHZhbHVlIHRvIHRoZSB0aW1lIHpvbmUgY3VycmVudGx5IHNwZWNpZmllZCBieSB0aGUK KyAgICA8dmFybmFtZT5UaW1lWm9uZTwvdmFybmFtZT4gc2V0dGluZyBhbmQgcmV0dXJucyB0 aGUgdmFsdWUgd2l0aG91dCBhCisgICAgdGltZSB6b25lLgorICAgPC9wYXJhPgorCisgICA8 cGFyYT4KKyAgICBUaGUgZmlmdGggZXhhbXBsZSBpcyBhIGNhdXRpb25hcnkgdGFsZS4gRHVl IHRvIHRoZSBmYWN0IHRoYXQgdGhlcmUgaXMgbm8KKyAgICBkYXRlIGFzc29jaWF0ZWQgd2l0 aCB0aGUgaW5wdXQgdmFsdWUsIHRoZSBjb252ZXJzaW9uIGlzIG1hZGUgdXNpbmcgdGhlCisg ICAgY3VycmVudCBkYXRlIG9mIHRoZSBzZXNzaW9uLiBUaGVyZWZvcmUsIHRoaXMgc3RhdGlj IGV4YW1wbGUgbWF5IHNob3cgYSB3cm9uZworICAgIHJlc3VsdCBkZXBlbmRpbmcgb24gdGhl IHRpbWUgb2YgdGhlIHllYXIgaXQgaXMgdmlld2VkIGJlY2F1c2UKKyAgICA8bGl0ZXJhbD4n QW1lcmljYS9Mb3NfQW5nZWxlcyc8L2xpdGVyYWw+IG9ic2VydmVzIERheWxpZ2h0IFNhdmlu Z3MgVGltZS4KICAgIDwvcGFyYT4KIAogICAgPHBhcmE+CiAgICAgVGhlIGZ1bmN0aW9uIDxs aXRlcmFsPjxmdW5jdGlvbj50aW1lem9uZTwvZnVuY3Rpb24+KDxyZXBsYWNlYWJsZT56b25l PC9yZXBsYWNlYWJsZT4sCiAgICAgPHJlcGxhY2VhYmxlPnRpbWVzdGFtcDwvcmVwbGFjZWFi bGU+KTwvbGl0ZXJhbD4gaXMgZXF1aXZhbGVudCB0byB0aGUgU1FMLWNvbmZvcm1pbmcgY29u c3RydWN0CiAgICAgPGxpdGVyYWw+PHJlcGxhY2VhYmxlPnRpbWVzdGFtcDwvcmVwbGFjZWFi bGU+IEFUIFRJTUUgWk9ORQogICAgIDxyZXBsYWNlYWJsZT56b25lPC9yZXBsYWNlYWJsZT48 L2xpdGVyYWw+LgogICAgPC9wYXJhPgorCisgICA8cGFyYT4KKyAgICBUaGUgZnVuY3Rpb24g PGxpdGVyYWw+PGZ1bmN0aW9uPnRpbWV6b25lPC9mdW5jdGlvbj4oPHJlcGxhY2VhYmxlPnRp bWVzdGFtcDwvcmVwbGFjZWFibGU+KTwvbGl0ZXJhbD4KKyAgICBpcyBlcXVpdmFsZW50IHRv IHRoZSBTUUwtY29uZm9ybWluZyBjb25zdHJ1Y3QgPGxpdGVyYWw+PHJlcGxhY2VhYmxlPnRp bWVzdGFtcDwvcmVwbGFjZWFibGU+CisgICAgQVQgTE9DQUw8L2xpdGVyYWw+LgorICAgPC9w YXJhPgorCisgICA8cGFyYT4KKyAgICBUaGUgZnVuY3Rpb24gPGxpdGVyYWw+PGZ1bmN0aW9u PnRpbWV6b25lPC9mdW5jdGlvbj4oPHJlcGxhY2VhYmxlPnpvbmU8L3JlcGxhY2VhYmxlPiwK KyAgICA8cmVwbGFjZWFibGU+dGltZTwvcmVwbGFjZWFibGU+KTwvbGl0ZXJhbD4gaXMgZXF1 aXZhbGVudCB0byB0aGUgU1FMLWNvbmZvcm1pbmcgY29uc3RydWN0CisgICAgPGxpdGVyYWw+ PHJlcGxhY2VhYmxlPnRpbWU8L3JlcGxhY2VhYmxlPiBBVCBUSU1FIFpPTkUgPHJlcGxhY2Vh YmxlPnpvbmU8L3JlcGxhY2VhYmxlPjwvbGl0ZXJhbD4uCisgICA8L3BhcmE+CisKKyAgIDxw YXJhPgorICAgIFRoZSBmdW5jdGlvbiA8bGl0ZXJhbD48ZnVuY3Rpb24+dGltZXpvbmU8L2Z1 bmN0aW9uPig8cmVwbGFjZWFibGU+dGltZTwvcmVwbGFjZWFibGU+KTwvbGl0ZXJhbD4KKyAg ICBpcyBlcXVpdmFsZW50IHRvIHRoZSBTUUwtY29uZm9ybWluZyBjb25zdHJ1Y3QgPGxpdGVy YWw+PHJlcGxhY2VhYmxlPnRpbWU8L3JlcGxhY2VhYmxlPgorICAgIEFUIExPQ0FMPC9saXRl cmFsPi4KKyAgIDwvcGFyYT4KICAgPC9zZWN0Mj4KIAogICA8c2VjdDIgaWQ9ImZ1bmN0aW9u cy1kYXRldGltZS1jdXJyZW50Ij4KICAgIDx0aXRsZT5DdXJyZW50IERhdGUvVGltZTwvdGl0 bGU+CiAKICAgIDxpbmRleHRlcm0+CiAgICAgPHByaW1hcnk+ZGF0ZTwvcHJpbWFyeT4KICAg ICA8c2Vjb25kYXJ5PmN1cnJlbnQ8L3NlY29uZGFyeT4KICAgIDwvaW5kZXh0ZXJtPgogCmRp ZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2JhY2tlbmQvcGFy c2VyL2dyYW0ueQppbmRleCBlNTZjYmU3N2NiLi41MGVkNTA0ZTVhIDEwMDY0NAotLS0gYS9z cmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFt LnkKQEAgLTE0NTAxLDIwICsxNDUwMSwyNyBAQCBhX2V4cHI6CQljX2V4cHIJCQkJCQkJCQl7 ICQkID0gJDE7IH0KIAkJCQkJbi0+bG9jYXRpb24gPSBAMjsKIAkJCQkJJCQgPSAoTm9kZSAq KSBuOwogCQkJCX0KIAkJCXwgYV9leHByIEFUIFRJTUUgWk9ORSBhX2V4cHIJCQklcHJlYyBB VAogCQkJCXsKIAkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlRnVuY0NhbGwoU3lzdGVtRnVuY05h bWUoInRpbWV6b25lIiksCiAJCQkJCQkJCQkJCSAgIGxpc3RfbWFrZTIoJDUsICQxKSwKIAkJ CQkJCQkJCQkJICAgQ09FUkNFX1NRTF9TWU5UQVgsCiAJCQkJCQkJCQkJCSAgIEAyKTsKIAkJ CQl9CisJCQl8IGFfZXhwciBBVCBMT0NBTAkJCQkJCSVwcmVjIEFUCisJCQkJeworCQkJCQkk JCA9IChOb2RlICopIG1ha2VGdW5jQ2FsbChTeXN0ZW1GdW5jTmFtZSgidGltZXpvbmUiKSwK KwkJCQkJCQkJCQkJICAgbGlzdF9tYWtlMSgkMSksCisJCQkJCQkJCQkJCSAgIENPRVJDRV9T UUxfU1lOVEFYLAorCQkJCQkJCQkJCQkgICAtMSk7CisJCQkJfQogCQkvKgogCQkgKiBUaGVz ZSBvcGVyYXRvcnMgbXVzdCBiZSBjYWxsZWQgb3V0IGV4cGxpY2l0bHkgaW4gb3JkZXIgdG8g bWFrZSB1c2UKIAkJICogb2YgYmlzb24ncyBhdXRvbWF0aWMgb3BlcmF0b3ItcHJlY2VkZW5j ZSBoYW5kbGluZy4gIEFsbCBvdGhlcgogCQkgKiBvcGVyYXRvciBuYW1lcyBhcmUgaGFuZGxl ZCBieSB0aGUgZ2VuZXJpYyBwcm9kdWN0aW9ucyB1c2luZyAiT3AiLAogCQkgKiBiZWxvdzsg YW5kIGFsbCB0aG9zZSBvcGVyYXRvcnMgd2lsbCBoYXZlIHRoZSBzYW1lIHByZWNlZGVuY2Uu CiAJCSAqCiAJCSAqIElmIHlvdSBhZGQgbW9yZSBleHBsaWNpdGx5LWtub3duIG9wZXJhdG9y cywgYmUgc3VyZSB0byBhZGQgdGhlbQogCQkgKiBhbHNvIHRvIGJfZXhwciBhbmQgdG8gdGhl IE1hdGhPcCBsaXN0IGJlbG93LgogCQkgKi8KIAkJCXwgJysnIGFfZXhwcgkJCQkJJXByZWMg VU1JTlVTCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5jIGIvc3Jj L2JhY2tlbmQvdXRpbHMvYWR0L2RhdGUuYwppbmRleCBhZTBmMjRkZTJjLi5lNGQyMTA5OGNi IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hZHQvZGF0ZS5jCisrKyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9kYXRlLmMKQEAgLTMxMTgsMTAgKzMxMTgsMjQgQEAgdGltZXR6 X2l6b25lKFBHX0ZVTkNUSU9OX0FSR1MpCiAJcmVzdWx0LT50aW1lID0gdGltZS0+dGltZSAr ICh0aW1lLT56b25lIC0gdHopICogVVNFQ1NfUEVSX1NFQzsKIAl3aGlsZSAocmVzdWx0LT50 aW1lIDwgSU5UNjRDT05TVCgwKSkKIAkJcmVzdWx0LT50aW1lICs9IFVTRUNTX1BFUl9EQVk7 CiAJd2hpbGUgKHJlc3VsdC0+dGltZSA+PSBVU0VDU19QRVJfREFZKQogCQlyZXN1bHQtPnRp bWUgLT0gVVNFQ1NfUEVSX0RBWTsKIAogCXJlc3VsdC0+em9uZSA9IHR6OwogCiAJUEdfUkVU VVJOX1RJTUVUWkFEVF9QKHJlc3VsdCk7CiB9CisKKy8qIHRpbWV0el9hdF9sb2NhbCgpCisg KgorICogVW5saWtlIGZvciB0aW1lc3RhbXBbdHpdX2F0X2xvY2FsLCB0aGUgdHlwZSBmb3Ig dGltZXR6IGRvZXMgbm90IGZsaXAgYmV0d2VlbgorICogdGltZSB3aXRoL3dpdGhvdXQgdGlt ZSB6b25lLCBzbyB3ZSBjYW5ub3QganVzdCBjYWxsIHRoZSBjb252ZXJzaW9uIGZ1bmN0aW9u LgorICovCitEYXR1bQordGltZXR6X2F0X2xvY2FsKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJ RGF0dW0JdGltZSA9IFBHX0dFVEFSR19EQVRVTSgwKTsKKwlEYXR1bQl6b25lID0gUG9pbnRl ckdldERhdHVtKGNzdHJpbmdfdG9fdGV4dChwZ19nZXRfdGltZXpvbmVfbmFtZShzZXNzaW9u X3RpbWV6b25lKSkpOworCisJcmV0dXJuIERpcmVjdEZ1bmN0aW9uQ2FsbDIodGltZXR6X3pv bmUsIHpvbmUsIHRpbWUpOworfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0 L3J1bGV1dGlscy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3J1bGV1dGlscy5jCmluZGV4 IDQ0MjIwNTM4MmUuLmVkN2Y0MGYwNTMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxz L2FkdC9ydWxldXRpbHMuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxz LmMKQEAgLTEwMzQwLDIwICsxMDM0MCwzMCBAQCBnZXRfZnVuY19zcWxfc3ludGF4KEZ1bmNF eHByICpleHByLCBkZXBhcnNlX2NvbnRleHQgKmNvbnRleHQpCiAJCQkvKiBBVCBUSU1FIFpP TkUgLi4uIG5vdGUgcmV2ZXJzZWQgYXJndW1lbnQgb3JkZXIgKi8KIAkJCWFwcGVuZFN0cmlu Z0luZm9DaGFyKGJ1ZiwgJygnKTsKIAkJCWdldF9ydWxlX2V4cHJfcGFyZW4oKE5vZGUgKikg bHNlY29uZChleHByLT5hcmdzKSwgY29udGV4dCwgZmFsc2UsCiAJCQkJCQkJCShOb2RlICop IGV4cHIpOwogCQkJYXBwZW5kU3RyaW5nSW5mb1N0cmluZyhidWYsICIgQVQgVElNRSBaT05F ICIpOwogCQkJZ2V0X3J1bGVfZXhwcl9wYXJlbigoTm9kZSAqKSBsaW5pdGlhbChleHByLT5h cmdzKSwgY29udGV4dCwgZmFsc2UsCiAJCQkJCQkJCShOb2RlICopIGV4cHIpOwogCQkJYXBw ZW5kU3RyaW5nSW5mb0NoYXIoYnVmLCAnKScpOwogCQkJcmV0dXJuIHRydWU7CiAKKwkJY2Fz ZSBGX1RJTUVaT05FX1RJTUVTVEFNUDoKKwkJY2FzZSBGX1RJTUVaT05FX1RJTUVTVEFNUFRa OgorCQljYXNlIEZfVElNRVpPTkVfVElNRVRaOgorCQkJLyogQVQgTE9DQUwgKi8KKwkJCWFw cGVuZFN0cmluZ0luZm9DaGFyKGJ1ZiwgJygnKTsKKwkJCWdldF9ydWxlX2V4cHJfcGFyZW4o KE5vZGUgKikgbGluaXRpYWwoZXhwci0+YXJncyksIGNvbnRleHQsIGZhbHNlLAorCQkJCQkJ CQkoTm9kZSAqKSBleHByKTsKKwkJCWFwcGVuZFN0cmluZ0luZm9TdHJpbmcoYnVmLCAiIEFU IExPQ0FMKSIpOworCQkJcmV0dXJuIHRydWU7CisKIAkJY2FzZSBGX09WRVJMQVBTX1RJTUVT VEFNUFRaX0lOVEVSVkFMX1RJTUVTVEFNUFRaX0lOVEVSVkFMOgogCQljYXNlIEZfT1ZFUkxB UFNfVElNRVNUQU1QVFpfSU5URVJWQUxfVElNRVNUQU1QVFpfVElNRVNUQU1QVFo6CiAJCWNh c2UgRl9PVkVSTEFQU19USU1FU1RBTVBUWl9USU1FU1RBTVBUWl9USU1FU1RBTVBUWl9JTlRF UlZBTDoKIAkJY2FzZSBGX09WRVJMQVBTX1RJTUVTVEFNUFRaX1RJTUVTVEFNUFRaX1RJTUVT VEFNUFRaX1RJTUVTVEFNUFRaOgogCQljYXNlIEZfT1ZFUkxBUFNfVElNRVNUQU1QX0lOVEVS VkFMX1RJTUVTVEFNUF9JTlRFUlZBTDoKIAkJY2FzZSBGX09WRVJMQVBTX1RJTUVTVEFNUF9J TlRFUlZBTF9USU1FU1RBTVBfVElNRVNUQU1QOgogCQljYXNlIEZfT1ZFUkxBUFNfVElNRVNU QU1QX1RJTUVTVEFNUF9USU1FU1RBTVBfSU5URVJWQUw6CiAJCWNhc2UgRl9PVkVSTEFQU19U SU1FU1RBTVBfVElNRVNUQU1QX1RJTUVTVEFNUF9USU1FU1RBTVA6CiAJCWNhc2UgRl9PVkVS TEFQU19USU1FVFpfVElNRVRaX1RJTUVUWl9USU1FVFo6CiAJCWNhc2UgRl9PVkVSTEFQU19U SU1FX0lOVEVSVkFMX1RJTUVfSU5URVJWQUw6CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91 dGlscy9hZHQvdGltZXN0YW1wLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvdGltZXN0YW1w LmMKaW5kZXggMGU1MGFhZWM1YS4uZTE3MmU5MDYxNCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tl bmQvdXRpbHMvYWR0L3RpbWVzdGFtcC5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC90 aW1lc3RhbXAuYwpAQCAtNTkxNCwxMCArNTkxNCwzMCBAQCBEYXR1bQogZ2VuZXJhdGVfc2Vy aWVzX3RpbWVzdGFtcHR6KFBHX0ZVTkNUSU9OX0FSR1MpCiB7CiAJcmV0dXJuIGdlbmVyYXRl X3Nlcmllc190aW1lc3RhbXB0el9pbnRlcm5hbChmY2luZm8pOwogfQogCiBEYXR1bQogZ2Vu ZXJhdGVfc2VyaWVzX3RpbWVzdGFtcHR6X2F0X3pvbmUoUEdfRlVOQ1RJT05fQVJHUykKIHsK IAlyZXR1cm4gZ2VuZXJhdGVfc2VyaWVzX3RpbWVzdGFtcHR6X2ludGVybmFsKGZjaW5mbyk7 CiB9CisKKy8qIHRpbWVzdGFtcF9hdF9sb2NhbCgpCisgKiB0aW1lc3RhbXB0el9hdF9sb2Nh bCgpCisgKgorICogVGhlIHJlZ3Jlc3Npb24gdGVzdHMgZG8gbm90IGxpa2UgdHdvIGZ1bmN0 aW9ucyB3aXRoIHRoZSBzYW1lIHByb2FyZ3MgYW5kCisgKiBwcm9zcmMgYnV0IGRpZmZlcmVu dCBwcm9uYW1lLCBidXQgdGhlIGdyYW1tYXIgZm9yIEFUIExPQ0FMIG5lZWRzIGFuCisgKiBv dmVybG9hZGVkIG5hbWUgdG8gaGFuZGxlIGJvdGggdHlwZXMgb2YgdGltZXN0YW1wLCBzbyB3 ZSBtYWtlIHNpbXBsZQorICogd3JhcHBlcnMgZm9yIGl0LgorICovCitEYXR1bQordGltZXN0 YW1wX2F0X2xvY2FsKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJcmV0dXJuIHRpbWVzdGFtcF90 aW1lc3RhbXB0eihmY2luZm8pOworfQorCitEYXR1bQordGltZXN0YW1wdHpfYXRfbG9jYWwo UEdfRlVOQ1RJT05fQVJHUykKK3sKKwlyZXR1cm4gdGltZXN0YW1wdHpfdGltZXN0YW1wKGZj aW5mbyk7Cit9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 IGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAppbmRleCBmMGI3YjljYmQ4Li5i MzNmYzk0NTAyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0 CisrKyBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKQEAgLTIzMTIsMjAgKzIz MTIsMjYgQEAKICAgcHJvYXJndHlwZXMgPT4gJ3RpbWVzdGFtcHR6IHRpbWVzdGFtcHR6Jywg cHJvc3JjID0+ICd0aW1lc3RhbXBfZ2UnIH0sCiB7IG9pZCA9PiAnMTE1NycsCiAgIHByb25h bWUgPT4gJ3RpbWVzdGFtcHR6X2d0JywgcHJvbGVha3Byb29mID0+ICd0JywgcHJvcmV0dHlw ZSA9PiAnYm9vbCcsCiAgIHByb2FyZ3R5cGVzID0+ICd0aW1lc3RhbXB0eiB0aW1lc3RhbXB0 eicsIHByb3NyYyA9PiAndGltZXN0YW1wX2d0JyB9LAogeyBvaWQgPT4gJzExNTgnLCBkZXNj ciA9PiAnY29udmVydCBVTklYIGVwb2NoIHRvIHRpbWVzdGFtcHR6JywKICAgcHJvbmFtZSA9 PiAndG9fdGltZXN0YW1wJywgcHJvcmV0dHlwZSA9PiAndGltZXN0YW1wdHonLAogICBwcm9h cmd0eXBlcyA9PiAnZmxvYXQ4JywgcHJvc3JjID0+ICdmbG9hdDhfdGltZXN0YW1wdHonIH0s CiB7IG9pZCA9PiAnMTE1OScsIGRlc2NyID0+ICdhZGp1c3QgdGltZXN0YW1wIHRvIG5ldyB0 aW1lIHpvbmUnLAogICBwcm9uYW1lID0+ICd0aW1lem9uZScsIHByb3JldHR5cGUgPT4gJ3Rp bWVzdGFtcCcsCiAgIHByb2FyZ3R5cGVzID0+ICd0ZXh0IHRpbWVzdGFtcHR6JywgcHJvc3Jj ID0+ICd0aW1lc3RhbXB0el96b25lJyB9LAoreyBvaWQgPT4gJzkxNTknLCBkZXNjciA9PiAn YWRqdXN0IHRpbWVzdGFtcCB0byBsb2NhbCB0aW1lIHpvbmUnLAorICBwcm9uYW1lID0+ICd0 aW1lem9uZScsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAndGltZXN0YW1w JywKKyAgcHJvYXJndHlwZXMgPT4gJ3RpbWVzdGFtcHR6JywgcHJvc3JjID0+ICd0aW1lc3Rh bXB0el9hdF9sb2NhbCcgfSwKK3sgb2lkID0+ICc5MTYwJywgZGVzY3IgPT4gJ2FkanVzdCB0 aW1lc3RhbXAgdG8gbG9jYWwgdGltZSB6b25lJywKKyAgcHJvbmFtZSA9PiAndGltZXpvbmUn LCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3RpbWVzdGFtcHR6JywKKyAg cHJvYXJndHlwZXMgPT4gJ3RpbWVzdGFtcCcsIHByb3NyYyA9PiAndGltZXN0YW1wX2F0X2xv Y2FsJyB9LAogCiB7IG9pZCA9PiAnMTE2MCcsIGRlc2NyID0+ICdJL08nLAogICBwcm9uYW1l ID0+ICdpbnRlcnZhbF9pbicsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcmV0dHlwZSA9PiAn aW50ZXJ2YWwnLAogICBwcm9hcmd0eXBlcyA9PiAnY3N0cmluZyBvaWQgaW50NCcsIHByb3Ny YyA9PiAnaW50ZXJ2YWxfaW4nIH0sCiB7IG9pZCA9PiAnMTE2MScsIGRlc2NyID0+ICdJL08n LAogICBwcm9uYW1lID0+ICdpbnRlcnZhbF9vdXQnLCBwcm92b2xhdGlsZSA9PiAncycsIHBy b3JldHR5cGUgPT4gJ2NzdHJpbmcnLAogICBwcm9hcmd0eXBlcyA9PiAnaW50ZXJ2YWwnLCBw cm9zcmMgPT4gJ2ludGVydmFsX291dCcgfSwKIHsgb2lkID0+ICcyOTAzJywgZGVzY3IgPT4g J0kvTyB0eXBtb2QnLAogICBwcm9uYW1lID0+ICdpbnRlcnZhbHR5cG1vZGluJywgcHJvcmV0 dHlwZSA9PiAnaW50NCcsCiAgIHByb2FyZ3R5cGVzID0+ICdfY3N0cmluZycsIHByb3NyYyA9 PiAnaW50ZXJ2YWx0eXBtb2RpbicgfSwKQEAgLTYwODgsMjAgKzYwOTQsMjMgQEAKICAgcHJv YXJndHlwZXMgPT4gJ3RpbWVzdGFtcCB0aW1lc3RhbXAnLCBwcm9zcmMgPT4gJ3RpbWVzdGFt cF9zbWFsbGVyJyB9LAogeyBvaWQgPT4gJzIwMzYnLCBkZXNjciA9PiAnbGFyZ2VyIG9mIHR3 bycsCiAgIHByb25hbWUgPT4gJ3RpbWVzdGFtcF9sYXJnZXInLCBwcm9yZXR0eXBlID0+ICd0 aW1lc3RhbXAnLAogICBwcm9hcmd0eXBlcyA9PiAndGltZXN0YW1wIHRpbWVzdGFtcCcsIHBy b3NyYyA9PiAndGltZXN0YW1wX2xhcmdlcicgfSwKIHsgb2lkID0+ICcyMDM3JywgZGVzY3Ig PT4gJ2FkanVzdCB0aW1lIHdpdGggdGltZSB6b25lIHRvIG5ldyB6b25lJywKICAgcHJvbmFt ZSA9PiAndGltZXpvbmUnLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3Rp bWV0eicsCiAgIHByb2FyZ3R5cGVzID0+ICd0ZXh0IHRpbWV0eicsIHByb3NyYyA9PiAndGlt ZXR6X3pvbmUnIH0sCiB7IG9pZCA9PiAnMjAzOCcsIGRlc2NyID0+ICdhZGp1c3QgdGltZSB3 aXRoIHRpbWUgem9uZSB0byBuZXcgem9uZScsCiAgIHByb25hbWUgPT4gJ3RpbWV6b25lJywg cHJvcmV0dHlwZSA9PiAndGltZXR6JywKICAgcHJvYXJndHlwZXMgPT4gJ2ludGVydmFsIHRp bWV0eicsIHByb3NyYyA9PiAndGltZXR6X2l6b25lJyB9LAoreyBvaWQgPT4gJzkxNjEnLCBk ZXNjciA9PiAnYWRqdXN0IHRpbWUgdG8gbG9jYWwgdGltZSB6b25lJywKKyAgcHJvbmFtZSA9 PiAndGltZXpvbmUnLCBwcm92b2xhdGlsZSA9PiAncycsIHByb3JldHR5cGUgPT4gJ3RpbWV0 eicsCisgIHByb2FyZ3R5cGVzID0+ICd0aW1ldHonLCBwcm9zcmMgPT4gJ3RpbWV0el9hdF9s b2NhbCcgfSwKIHsgb2lkID0+ICcyMDM5JywgZGVzY3IgPT4gJ2hhc2gnLAogICBwcm9uYW1l ID0+ICd0aW1lc3RhbXBfaGFzaCcsIHByb3JldHR5cGUgPT4gJ2ludDQnLCBwcm9hcmd0eXBl cyA9PiAndGltZXN0YW1wJywKICAgcHJvc3JjID0+ICd0aW1lc3RhbXBfaGFzaCcgfSwKIHsg b2lkID0+ICczNDExJywgZGVzY3IgPT4gJ2hhc2gnLAogICBwcm9uYW1lID0+ICd0aW1lc3Rh bXBfaGFzaF9leHRlbmRlZCcsIHByb3JldHR5cGUgPT4gJ2ludDgnLAogICBwcm9hcmd0eXBl cyA9PiAndGltZXN0YW1wIGludDgnLCBwcm9zcmMgPT4gJ3RpbWVzdGFtcF9oYXNoX2V4dGVu ZGVkJyB9LAogeyBvaWQgPT4gJzIwNDEnLCBkZXNjciA9PiAnaW50ZXJ2YWxzIG92ZXJsYXA/ JywKICAgcHJvbmFtZSA9PiAnb3ZlcmxhcHMnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3Jl dHR5cGUgPT4gJ2Jvb2wnLAogICBwcm9hcmd0eXBlcyA9PiAndGltZXN0YW1wIHRpbWVzdGFt cCB0aW1lc3RhbXAgdGltZXN0YW1wJywKICAgcHJvc3JjID0+ICdvdmVybGFwc190aW1lc3Rh bXAnIH0sCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3RpbWVzdGFt cHR6Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdGltZXN0YW1wdHoub3V0Cmlu ZGV4IDBkZDJmZTJjODIuLjY0ZmRjNjRhMTQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvdGltZXN0YW1wdHoub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvdGltZXN0YW1wdHoub3V0CkBAIC0zMTI4LDIwICszMTI4LDY3IEBAIFNFTEVDVCAn MjAxNC0xMC0yNSAyMjowMDowMSBVVEMnOjp0aW1lc3RhbXB0eiBBVCBUSU1FIFpPTkUgJ01T Syc7CiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIFN1biBPY3QgMjYgMDE6MDA6MDEg MjAxNAogKDEgcm93KQogCiBTRUxFQ1QgJzIwMTQtMTAtMjUgMjM6MDA6MDAgVVRDJzo6dGlt ZXN0YW1wdHogQVQgVElNRSBaT05FICdNU0snOwogICAgICAgICAgdGltZXpvbmUgICAgICAg ICAKIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgU3VuIE9jdCAyNiAwMjowMDowMCAy MDE0CiAoMSByb3cpCiAKKy0tCistLSBUZXN0IExPQ0FMIHRpbWUgem9uZQorLS0KK0JFR0lO OworU0VUIExPQ0FMIFRJTUUgWk9ORSAnRXVyb3BlL1BhcmlzJzsKK1ZBTFVFUyAoQ0FTVCgn MTk3OC0wNy0wNyAxOTozOCBBbWVyaWNhL05ld19Zb3JrJyBBUyBUSU1FU1RBTVAgV0lUSCBU SU1FIFpPTkUpIEFUIExPQ0FMKTsKKyAgICAgICAgIGNvbHVtbjEgICAgICAgICAgCistLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIFNhdCBKdWwgMDggMDE6Mzg6MDAgMTk3OAorKDEg cm93KQorCitWQUxVRVMgKFRJTUVTVEFNUCAnMTk3OC0wNy0wNyAxOTozOCcgQVQgTE9DQUwp OworICAgICAgICAgICAgY29sdW1uMSAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorIEZyaSBKdWwgMDcgMTk6Mzg6MDAgMTk3OCBDRVNUCisoMSByb3cp CisKK1NFVCBMT0NBTCBUSU1FIFpPTkUgJ0F1c3RyYWxpYS9TeWRuZXknOworVkFMVUVTIChD QVNUKCcxOTc4LTA3LTA3IDE5OjM4IEFtZXJpY2EvTmV3X1lvcmsnIEFTIFRJTUVTVEFNUCBX SVRIIFRJTUUgWk9ORSkgQVQgTE9DQUwpOworICAgICAgICAgY29sdW1uMSAgICAgICAgICAK Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgU2F0IEp1bCAwOCAwOTozODowMCAxOTc4 CisoMSByb3cpCisKK1ZBTFVFUyAoVElNRVNUQU1QICcxOTc4LTA3LTA3IDE5OjM4JyBBVCBM T0NBTCk7CisgICAgICAgICAgICBjb2x1bW4xICAgICAgICAgICAgCistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgRnJpIEp1bCAwNyAxOTozODowMCAxOTc4IEFFU1QKKygx IHJvdykKKworUkVTRVQgVElNRSBaT05FOworQ1JFQVRFIFZJRVcgbG9jYWxfdGltZV96b25l IEFTCisgICAgVkFMVUVTIChDQVNUKCcxOTc4LTA3LTA3IDE5OjM4IEFtZXJpY2EvTmV3X1lv cmsnIEFTIFRJTUVTVEFNUCBXSVRIIFRJTUUgWk9ORSkgQVQgTE9DQUwsCisgICAgICAgICAg ICB0aW1lem9uZShDQVNUKCcxOTc4LTA3LTA3IDE5OjM4IEFtZXJpY2EvTmV3X1lvcmsnIEFT IFRJTUVTVEFNUCBXSVRIIFRJTUUgWk9ORSkpLAorICAgICAgICAgICAgVElNRVNUQU1QICcx OTc4LTA3LTA3IDE5OjM4JyBBVCBMT0NBTCwKKyAgICAgICAgICAgIHRpbWV6b25lKFRJTUVT VEFNUCAnMTk3OC0wNy0wNyAxOTozOCcpKTsKK1xzdiBsb2NhbF90aW1lX3pvbmUKK0NSRUFU RSBPUiBSRVBMQUNFIFZJRVcgcHVibGljLmxvY2FsX3RpbWVfem9uZSBBUworIFZBTFVFUyAo KCdGcmkgSnVsIDA3IDE2OjM4OjAwIDE5NzggUERUJzo6dGltZXN0YW1wIHdpdGggdGltZSB6 b25lIEFUIExPQ0FMKSx0aW1lem9uZSgnRnJpIEp1bCAwNyAxNjozODowMCAxOTc4IFBEVCc6 OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSksKCdGcmkgSnVsIDA3IDE5OjM4OjAwIDE5Nzgn Ojp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUgQVQgTE9DQUwpLHRpbWV6b25lKCdGcmkg SnVsIDA3IDE5OjM4OjAwIDE5NzgnOjp0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUpKQor VEFCTEUgbG9jYWxfdGltZV96b25lOworICAgICAgICAgY29sdW1uMSAgICAgICAgICB8ICAg ICAgICAgY29sdW1uMiAgICAgICAgICB8ICAgICAgICAgICBjb2x1bW4zICAgICAgICAgICAg fCAgICAgICAgICAgY29sdW1uNCAgICAgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIEZyaSBKdWwgMDcg MTY6Mzg6MDAgMTk3OCB8IEZyaSBKdWwgMDcgMTY6Mzg6MDAgMTk3OCB8IEZyaSBKdWwgMDcg MTk6Mzg6MDAgMTk3OCBQRFQgfCBGcmkgSnVsIDA3IDE5OjM4OjAwIDE5NzggUERUCisoMSBy b3cpCisKK0RST1AgVklFVyBsb2NhbF90aW1lX3pvbmU7CitDT01NSVQ7CiAtLQogLS0gVGVz dCB0aGF0IEFUIFRJTUUgWk9ORSBpc24ndCBtaXNvcHRpbWl6ZWQgd2hlbiB1c2luZyBhbiBp bmRleCAoYnVnICMxNDUwNCkKIC0tCiBjcmVhdGUgdGVtcCB0YWJsZSB0bXB0eiAoZjEgdGlt ZXN0YW1wdHogcHJpbWFyeSBrZXkpOwogaW5zZXJ0IGludG8gdG1wdHogdmFsdWVzICgnMjAx Ny0wMS0xOCAwMDowMCswMCcpOwogZXhwbGFpbiAoY29zdHMgb2ZmKQogc2VsZWN0ICogZnJv bSB0bXB0eiB3aGVyZSBmMSBhdCB0aW1lIHpvbmUgJ3V0YycgPSAnMjAxNy0wMS0xOCAwMDow MCc7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBRVUVS WSBQTEFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICBTZXEg U2NhbiBvbiB0bXB0egpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90 aW1ldHoub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90aW1ldHoub3V0CmluZGV4 IGJlNDk1ODhiNmQuLmE5YTNhNDllYmIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv ZXhwZWN0ZWQvdGltZXR6Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Rp bWV0ei5vdXQKQEAgLTI1NSwxMCArMjU1LDQ5IEBAIFNFTEVDVCBkYXRlX3BhcnQoJ3NlY29u ZCcsICAgICAgVElNRSBXSVRIIFRJTUUgWk9ORSAnMjAyMC0wNS0yNiAxMzozMDoyNS41NzU0 MDEtCiAtLS0tLS0tLS0tLQogIDI1LjU3NTQwMQogKDEgcm93KQogCiBTRUxFQ1QgZGF0ZV9w YXJ0KCdlcG9jaCcsICAgICAgIFRJTUUgV0lUSCBUSU1FIFpPTkUgJzIwMjAtMDUtMjYgMTM6 MzA6MjUuNTc1NDAxLTA0Jyk7CiAgIGRhdGVfcGFydCAgIAogLS0tLS0tLS0tLS0tLS0KICA2 MzAyNS41NzU0MDEKICgxIHJvdykKIAorLS0KKy0tIHRlc3QgTE9DQUwgdGltZSB6b25lCist LQorQkVHSU47CitTRVQgTE9DQUwgVGltZVpvbmUgVE8gJ1VUQyc7CitDUkVBVEUgVklFVyB0 aW1lX2xvY2FsIEFTCitTRUxFQ1QgZjEsCisgICAgICAgZjEgQVQgTE9DQUwgQVMgZjIsCisg ICAgICAgdGltZXpvbmUoZjEpIEFTIGYzLAorICAgICAgIGYxIEFUIFRJTUUgWk9ORSBjdXJy ZW50X3NldHRpbmcoJ1RpbWVab25lJykgQVMgZjQKK0ZST00gVElNRVRaX1RCTAorT1JERVIg QlkgZjE7Citcc3YgdGltZV9sb2NhbAorQ1JFQVRFIE9SIFJFUExBQ0UgVklFVyBwdWJsaWMu dGltZV9sb2NhbCBBUworIFNFTEVDVCBmMSwKKyAgICAoZjEgQVQgTE9DQUwpIEFTIGYyLAor ICAgIHRpbWV6b25lKGYxKSBBUyBmMywKKyAgICAoZjEgQVQgVElNRSBaT05FIGN1cnJlbnRf c2V0dGluZygnVGltZVpvbmUnOjp0ZXh0KSkgQVMgZjQKKyAgIEZST00gdGltZXR6X3RibAor ICBPUkRFUiBCWSBmMQorVEFCTEUgdGltZV9sb2NhbDsKKyAgICAgICBmMSAgICAgICB8ICAg ICAgIGYyICAgICAgIHwgICAgICAgZjMgICAgICAgfCAgICAgICBmNCAgICAgICAKKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0KKyAwMDowMTowMC0wNyAgICB8IDA3OjAxOjAwKzAwICAgIHwgMDc6MDE6MDAr MDAgICAgfCAwNzowMTowMCswMAorIDAxOjAwOjAwLTA3ICAgIHwgMDg6MDA6MDArMDAgICAg fCAwODowMDowMCswMCAgICB8IDA4OjAwOjAwKzAwCisgMDI6MDM6MDAtMDcgICAgfCAwOTow MzowMCswMCAgICB8IDA5OjAzOjAwKzAwICAgIHwgMDk6MDM6MDArMDAKKyAwODowODowMC0w NCAgICB8IDEyOjA4OjAwKzAwICAgIHwgMTI6MDg6MDArMDAgICAgfCAxMjowODowMCswMAor IDA3OjA3OjAwLTA4ICAgIHwgMTU6MDc6MDArMDAgICAgfCAxNTowNzowMCswMCAgICB8IDE1 OjA3OjAwKzAwCisgMTE6NTk6MDAtMDcgICAgfCAxODo1OTowMCswMCAgICB8IDE4OjU5OjAw KzAwICAgIHwgMTg6NTk6MDArMDAKKyAxMjowMDowMC0wNyAgICB8IDE5OjAwOjAwKzAwICAg IHwgMTk6MDA6MDArMDAgICAgfCAxOTowMDowMCswMAorIDEyOjAxOjAwLTA3ICAgIHwgMTk6 MDE6MDArMDAgICAgfCAxOTowMTowMCswMCAgICB8IDE5OjAxOjAwKzAwCisgMTU6MzY6Mzkt MDQgICAgfCAxOTozNjozOSswMCAgICB8IDE5OjM2OjM5KzAwICAgIHwgMTk6MzY6MzkrMDAK KyAxNTozNjozOS0wNSAgICB8IDIwOjM2OjM5KzAwICAgIHwgMjA6MzY6MzkrMDAgICAgfCAy MDozNjozOSswMAorIDIzOjU5OjAwLTA3ICAgIHwgMDY6NTk6MDArMDAgICAgfCAwNjo1OTow MCswMCAgICB8IDA2OjU5OjAwKzAwCisgMjM6NTk6NTkuOTktMDcgfCAwNjo1OTo1OS45OSsw MCB8IDA2OjU5OjU5Ljk5KzAwIHwgMDY6NTk6NTkuOTkrMDAKKygxMiByb3dzKQorCitEUk9Q IFZJRVcgdGltZV9sb2NhbDsKK0NPTU1JVDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3RpbWVzdGFtcHR6LnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RpbWVzdGFt cHR6LnNxbAppbmRleCA2OWIzNmQwNDIwLi41M2I1ODc4ZTIxIDEwMDY0NAotLS0gYS9zcmMv dGVzdC9yZWdyZXNzL3NxbC90aW1lc3RhbXB0ei5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvdGltZXN0YW1wdHouc3FsCkBAIC02MDQsMTggKzYwNCwzOSBAQCBTRUxFQ1QgJzIw MTEtMDMtMjYgMjM6MDA6MDAgVVRDJzo6dGltZXN0YW1wdHogQVQgVElNRSBaT05FICdNU0sn OwogU0VMRUNUICcyMDExLTAzLTI2IDIzOjAwOjAxIFVUQyc6OnRpbWVzdGFtcHR6IEFUIFRJ TUUgWk9ORSAnTVNLJzsKIFNFTEVDVCAnMjAxMS0wMy0yNiAyMzo1OTo1OSBVVEMnOjp0aW1l c3RhbXB0eiBBVCBUSU1FIFpPTkUgJ01TSyc7CiBTRUxFQ1QgJzIwMTEtMDMtMjcgMDA6MDA6 MDAgVVRDJzo6dGltZXN0YW1wdHogQVQgVElNRSBaT05FICdNU0snOwogCiBTRUxFQ1QgJzIw MTQtMTAtMjUgMjE6MDA6MDAgVVRDJzo6dGltZXN0YW1wdHogQVQgVElNRSBaT05FICdNU0sn OwogU0VMRUNUICcyMDE0LTEwLTI1IDIxOjU5OjU5IFVUQyc6OnRpbWVzdGFtcHR6IEFUIFRJ TUUgWk9ORSAnTVNLJzsKIFNFTEVDVCAnMjAxNC0xMC0yNSAyMjowMDowMCBVVEMnOjp0aW1l c3RhbXB0eiBBVCBUSU1FIFpPTkUgJ01TSyc7CiBTRUxFQ1QgJzIwMTQtMTAtMjUgMjI6MDA6 MDEgVVRDJzo6dGltZXN0YW1wdHogQVQgVElNRSBaT05FICdNU0snOwogU0VMRUNUICcyMDE0 LTEwLTI1IDIzOjAwOjAwIFVUQyc6OnRpbWVzdGFtcHR6IEFUIFRJTUUgWk9ORSAnTVNLJzsK IAorLS0KKy0tIFRlc3QgTE9DQUwgdGltZSB6b25lCistLQorQkVHSU47CitTRVQgTE9DQUwg VElNRSBaT05FICdFdXJvcGUvUGFyaXMnOworVkFMVUVTIChDQVNUKCcxOTc4LTA3LTA3IDE5 OjM4IEFtZXJpY2EvTmV3X1lvcmsnIEFTIFRJTUVTVEFNUCBXSVRIIFRJTUUgWk9ORSkgQVQg TE9DQUwpOworVkFMVUVTIChUSU1FU1RBTVAgJzE5NzgtMDctMDcgMTk6MzgnIEFUIExPQ0FM KTsKK1NFVCBMT0NBTCBUSU1FIFpPTkUgJ0F1c3RyYWxpYS9TeWRuZXknOworVkFMVUVTIChD QVNUKCcxOTc4LTA3LTA3IDE5OjM4IEFtZXJpY2EvTmV3X1lvcmsnIEFTIFRJTUVTVEFNUCBX SVRIIFRJTUUgWk9ORSkgQVQgTE9DQUwpOworVkFMVUVTIChUSU1FU1RBTVAgJzE5NzgtMDct MDcgMTk6MzgnIEFUIExPQ0FMKTsKK1JFU0VUIFRJTUUgWk9ORTsKK0NSRUFURSBWSUVXIGxv Y2FsX3RpbWVfem9uZSBBUworICAgIFZBTFVFUyAoQ0FTVCgnMTk3OC0wNy0wNyAxOTozOCBB bWVyaWNhL05ld19Zb3JrJyBBUyBUSU1FU1RBTVAgV0lUSCBUSU1FIFpPTkUpIEFUIExPQ0FM LAorICAgICAgICAgICAgdGltZXpvbmUoQ0FTVCgnMTk3OC0wNy0wNyAxOTozOCBBbWVyaWNh L05ld19Zb3JrJyBBUyBUSU1FU1RBTVAgV0lUSCBUSU1FIFpPTkUpKSwKKyAgICAgICAgICAg IFRJTUVTVEFNUCAnMTk3OC0wNy0wNyAxOTozOCcgQVQgTE9DQUwsCisgICAgICAgICAgICB0 aW1lem9uZShUSU1FU1RBTVAgJzE5NzgtMDctMDcgMTk6MzgnKSk7Citcc3YgbG9jYWxfdGlt ZV96b25lCitUQUJMRSBsb2NhbF90aW1lX3pvbmU7CitEUk9QIFZJRVcgbG9jYWxfdGltZV96 b25lOworQ09NTUlUOworCiAtLQogLS0gVGVzdCB0aGF0IEFUIFRJTUUgWk9ORSBpc24ndCBt aXNvcHRpbWl6ZWQgd2hlbiB1c2luZyBhbiBpbmRleCAoYnVnICMxNDUwNCkKIC0tCiBjcmVh dGUgdGVtcCB0YWJsZSB0bXB0eiAoZjEgdGltZXN0YW1wdHogcHJpbWFyeSBrZXkpOwogaW5z ZXJ0IGludG8gdG1wdHogdmFsdWVzICgnMjAxNy0wMS0xOCAwMDowMCswMCcpOwogZXhwbGFp biAoY29zdHMgb2ZmKQogc2VsZWN0ICogZnJvbSB0bXB0eiB3aGVyZSBmMSBhdCB0aW1lIHpv bmUgJ3V0YycgPSAnMjAxNy0wMS0xOCAwMDowMCc7CiBzZWxlY3QgKiBmcm9tIHRtcHR6IHdo ZXJlIGYxIGF0IHRpbWUgem9uZSAndXRjJyA9ICcyMDE3LTAxLTE4IDAwOjAwJzsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RpbWV0ei5zcWwgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC90aW1ldHouc3FsCmluZGV4IDkzYzdiYjE0MjguLmEyNzRjZTc0MjMgMTAwNjQ0 Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RpbWV0ei5zcWwKKysrIGIvc3JjL3Rlc3Qv cmVncmVzcy9zcWwvdGltZXR6LnNxbApAQCAtNzcsMTAgKzc3LDI3IEBAIFNFTEVDVCBFWFRS QUNUKFRJTUVaT05FICAgIEZST00gVElNRSBXSVRIIFRJTUUgWk9ORSAnMjAyMC0wNS0yNiAx MzozMDoyNS41NzU0MDEtCiBTRUxFQ1QgRVhUUkFDVChUSU1FWk9ORV9IT1VSICAgRlJPTSBU SU1FIFdJVEggVElNRSBaT05FICcyMDIwLTA1LTI2IDEzOjMwOjI1LjU3NTQwMS0wNDozMCcp OwogU0VMRUNUIEVYVFJBQ1QoVElNRVpPTkVfTUlOVVRFIEZST00gVElNRSBXSVRIIFRJTUUg Wk9ORSAnMjAyMC0wNS0yNiAxMzozMDoyNS41NzU0MDEtMDQ6MzAnKTsKIFNFTEVDVCBFWFRS QUNUKEVQT0NIICAgICAgIEZST00gVElNRSBXSVRIIFRJTUUgWk9ORSAnMjAyMC0wNS0yNiAx MzozMDoyNS41NzU0MDEtMDQnKTsKIAogLS0gZGF0ZV9wYXJ0IGltcGxlbWVudGF0aW9uIGlz IG1vc3RseSB0aGUgc2FtZSBhcyBleHRyYWN0LCBzbyBvbmx5CiAtLSB0ZXN0IGEgZmV3IGNh c2VzIGZvciBhZGRpdGlvbmFsIGNvdmVyYWdlLgogU0VMRUNUIGRhdGVfcGFydCgnbWljcm9z ZWNvbmQnLCBUSU1FIFdJVEggVElNRSBaT05FICcyMDIwLTA1LTI2IDEzOjMwOjI1LjU3NTQw MS0wNCcpOwogU0VMRUNUIGRhdGVfcGFydCgnbWlsbGlzZWNvbmQnLCBUSU1FIFdJVEggVElN RSBaT05FICcyMDIwLTA1LTI2IDEzOjMwOjI1LjU3NTQwMS0wNCcpOwogU0VMRUNUIGRhdGVf cGFydCgnc2Vjb25kJywgICAgICBUSU1FIFdJVEggVElNRSBaT05FICcyMDIwLTA1LTI2IDEz OjMwOjI1LjU3NTQwMS0wNCcpOwogU0VMRUNUIGRhdGVfcGFydCgnZXBvY2gnLCAgICAgICBU SU1FIFdJVEggVElNRSBaT05FICcyMDIwLTA1LTI2IDEzOjMwOjI1LjU3NTQwMS0wNCcpOwor CistLQorLS0gdGVzdCBMT0NBTCB0aW1lIHpvbmUKKy0tCitCRUdJTjsKK1NFVCBMT0NBTCBU aW1lWm9uZSBUTyAnVVRDJzsKK0NSRUFURSBWSUVXIHRpbWVfbG9jYWwgQVMKK1NFTEVDVCBm MSwKKyAgICAgICBmMSBBVCBMT0NBTCBBUyBmMiwKKyAgICAgICB0aW1lem9uZShmMSkgQVMg ZjMsCisgICAgICAgZjEgQVQgVElNRSBaT05FIGN1cnJlbnRfc2V0dGluZygnVGltZVpvbmUn KSBBUyBmNAorRlJPTSBUSU1FVFpfVEJMCitPUkRFUiBCWSBmMTsKK1xzdiB0aW1lX2xvY2Fs CitUQUJMRSB0aW1lX2xvY2FsOworRFJPUCBWSUVXIHRpbWVfbG9jYWw7CitDT01NSVQ7Cgpi YXNlLWNvbW1pdDogODJhNzEzMmY1MzFiOGIxMmU3N2QxNzQ3NmU5YmZkNTk5YzNjMzBjZgot LSAKMi4zNC4xCgo= --------------U1cT7DD0qONIhYTMPUL7inHP--