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.96) (envelope-from ) id 1wPV4n-000m0A-0t for pgsql-hackers@arkaria.postgresql.org; Wed, 20 May 2026 00:46:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wPV4l-005W3l-0w for pgsql-hackers@arkaria.postgresql.org; Wed, 20 May 2026 00:46:20 +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.96) (envelope-from ) id 1wOv2l-001eHl-09 for pgsql-hackers@lists.postgresql.org; Mon, 18 May 2026 10:17:52 +0000 Received: from forward102a.mail.yandex.net ([178.154.239.85]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wOv2d-000000009hl-3nbl for pgsql-hackers@lists.postgresql.org; Mon, 18 May 2026 10:17:51 +0000 Received: from mail-nwsmtp-mxback-production-main-21.iva.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-21.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:a380:0:640:5020:0]) by forward102a.mail.yandex.net (Yandex) with ESMTPS id C8891C008B for ; Mon, 18 May 2026 13:17:40 +0300 (MSK) Received: from mail.yandex.ru (2a02:6b8:c0c:5c13:0:640:8270:0 [2a02:6b8:c0c:5c13:0:640:8270:0]) by mail-nwsmtp-mxback-production-main-21.iva.yp-c.yandex.net (mxback) with HTTPS id aHNcoVJufGk0-t4cbdzWC; Mon, 18 May 2026 13:17:40 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1779099460; bh=Su5pBJQsT3e+o5Fv3u+hf/Ywu5DwonTV29Gxb0U7N2Q=; h=Message-Id:Date:Subject:To:From; b=Gvom0GCK3EvhJhCunV7xIoyCsWFDxFhZ+hiVfHTsvAhyekJJuvwTUSOGdqkEYU+g6 NOcgNRqPZVZGkB+mC5UxdopyPYjIT2QUyI6UAtrQTSE63HtNNBbalblpi9P1yIgHRM 0j/IWw+qPVKgKm5EFtDvneTtgLtK8WHXIkXoNXIc= Authentication-Results: mail-nwsmtp-mxback-production-main-21.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Received: by mail-sendbernar-production-main-98.iva.yp-c.yandex.net (sendbernar) with HTTPS id 9fb1ba5cd299362bc723086e31090d1a; Mon, 18 May 2026 13:17:39 +0300 From: =?utf-8?B?0JLQu9Cw0LQg0JzQtdC00LLQtdC00LjRhtC60L7Qsg==?= To: "pgsql-hackers@lists.postgresql.org" Subject: [PATCH] Add contrib/anyarray: intarray-style operations and indexes for any array type MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Mon, 18 May 2026 13:17:39 +0300 Message-Id: <9231779099364@mail.yandex.ru> Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk PGRpdj48ZGl2PjxkaXY+RnJvbSBlNzk2ODAwYTMyMjc3YTI5MDEzMzU0MzQ0ZWRlMjIxYjg5ZTQ2 YzI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMTwvZGl2PjxkaXY+RnJvbTogVmxhZCBNZWR2ZWRp dHNrb3YgJmx0O3ZsYWRtZWR2ZWRpdHNrb3ZAeWFuZGV4LnJ1Jmd0OzwvZGl2PjxkaXY+RGF0ZTog TW9uLCAxOCBNYXkgMjAyNiAxMjo1MDoxMyArMDMwMDwvZGl2PjxkaXY+U3ViamVjdDogW1BBVENI XSBBZGQgY29udHJpYi9hbnlhcnJheTogaW50YXJyYXktc3R5bGUgb3BlcmF0aW9ucyBhbmQgaW5k ZXhlczwvZGl2PjxkaXY+wqBmb3IgYW55IGFycmF5IHR5cGU8L2Rpdj48ZGl2PsKgPC9kaXY+PGRp dj5UaGlzIG5ldyBjb250cmliIG1vZHVsZSBnZW5lcmFsaXplcyBjb250cmliL2ludGFycmF5IHRv IGFycmF5cyBvZiBhbnk8L2Rpdj48ZGl2PmVsZW1lbnQgdHlwZSB3aXRoIGEgZGVmYXVsdCBidHJl ZSBvcGNsYXNzLiDCoEl0IHByb3ZpZGVzOjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PiogU2V0LXN0 eWxlIGhlbHBlcnMgZm9yIGFueWFycmF5IC8gYW55ZWxlbWVudDogYW55YXJyYXlfc29ydDwvZGl2 PjxkaXY+wqAgKHdpdGggb3B0aW9uYWwgYXNjL2Rlc2MgZGlyZWN0aW9uKSwgYW55YXJyYXlfdW5p cSwgYW55YXJyYXlfaWR4LDwvZGl2PjxkaXY+wqAgYW55YXJyYXlfc3ViYXJyYXkgKDItIGFuZCAz LWFyZyksIGFueWFycmF5X2ljb3VudCw8L2Rpdj48ZGl2PsKgIGFueWFycmF5X2ludGVyc2VjdCwg YW55YXJyYXlfdW5pb24sIGFueWFycmF5X3VuaW9uX2VsZW0sPC9kaXY+PGRpdj7CoCBhbnlhcnJh eV9kaWZmZXJlbmNlLCBhbnlhcnJheV9kaWZmZXJlbmNlX2VsZW0sIHBsdXMgdGhlPC9kaXY+PGRp dj7CoCBjb3JyZXNwb25kaW5nIG9wZXJhdG9ycyAjLCAmYW1wOywgfCwgLSBvbiBhbnlhcnJheSBh bmQgYW55ZWxlbWVudC48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj4qIEEgdGV4dHVhbCBib29sZWFu IHF1ZXJ5IHR5cGUgImFueXF1ZXJ5IiBhbmQgdGhlIG9wZXJhdG9yczwvZGl2PjxkaXY+wqAgYW55 YXJyYXkgQEAgYW55cXVlcnkgKHdpdGggY29tbXV0YXRvciBhbnlxdWVyeSB+fiBhbnlhcnJheSku PC9kaXY+PGRpdj7CoCBUb2tlbnMgYXJlIHN0b3JlZCBhcyB0ZXh0IGFuZCBwYXJzZWQgbGF6aWx5 IHRocm91Z2ggdGhlPC9kaXY+PGRpdj7CoCBlbGVtZW50IHR5cGUncyBpbnB1dCBmdW5jdGlvbiBh dCBtYXRjaCB0aW1lLCBzbyB0aGUgc2FtZTwvZGl2PjxkaXY+wqAgcXVlcnkgdmFsdWUgY2FuIGJl IHVzZWQgYWdhaW5zdCBhcnJheXMgb2YgZGlmZmVyZW50IGVsZW1lbnQ8L2Rpdj48ZGl2PsKgIHR5 cGVzLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PiogQSBzaWduYXR1cmUtYmFzZWQgcG9seW1vcnBo aWMgR2lTVCBvcGNsYXNzICJhbnlhcnJheV9naXN0X29wcyI8L2Rpdj48ZGl2PsKgIG9uIGFueWFy cmF5LiDCoEVhY2ggaW5kZXhlZCBhcnJheSBpcyBoYXNoZWQgaW50byBhIGZpeGVkLXNpemU8L2Rp dj48ZGl2PsKgIGJpdCB2ZWN0b3I7IGludGVybmFsIG5vZGVzIHN0b3JlIHRoZSBiaXR3aXNlIHVu aW9uIG9mIHRoZWlyPC9kaXY+PGRpdj7CoCBjaGlsZHJlbiwgd2l0aCBhbiBBTExJU1RSVUUgc2hv cnQtY2lyY3VpdCB3aGVuIGV2ZXJ5IGJpdCBpczwvZGl2PjxkaXY+wqAgc2V0LiDCoFNpZ25hdHVy ZSBsZW5ndGggaXMgY29uZmlndXJhYmxlIHZpYSB0aGUgc2lnbGVuPC9kaXY+PGRpdj7CoCByZWxv cHRpb24gKGRlZmF1bHQgMjUyIGJ5dGVzKS48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj4qIEdJTiBv cGNsYXNzZXMgZm9yIHRoZSB0aHJlZSBlbGVtZW50IHR5cGVzIG1vc3QgY29tbW9ubHk8L2Rpdj48 ZGl2PsKgIHJlcXVlc3RlZCBieSB1c2VyczogaW50OF9hbnlxdWVyeV9naW5fb3BzLDwvZGl2Pjxk aXY+wqAgdXVpZF9hbnlxdWVyeV9naW5fb3BzIGFuZCB0ZXh0X2FueXF1ZXJ5X2dpbl9vcHMuIMKg VGhleSBhcmU8L2Rpdj48ZGl2PsKgIHBlci1jb25jcmV0ZS10eXBlIGJlY2F1c2UgdGhlIEdJTiBB TSBkb2VzIG5vdCBwcm9wYWdhdGU8L2Rpdj48ZGl2PsKgIGZuX2V4cHIgaW50byBleHRyYWN0UXVl cnksIHNvIHRoZSBlbGVtZW50IHR5cGUgbmVlZGVkIHRvPC9kaXY+PGRpdj7CoCBwYXJzZSBhbnlx dWVyeSB0b2tlbnMgY2Fubm90IGJlIGRpc2NvdmVyZWQgZHluYW1pY2FsbHkuPC9kaXY+PGRpdj7C oCBTdHJhdGVnaWVzIDEtNCBtaXJyb3IgdGhlIGJ1aWx0LWluIGFycmF5X29wczsgc3RyYXRlZ3kg NTwvZGl2PjxkaXY+wqAgaXMgQEAuPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+KiBkb2Mvc3JjL3Nn bWwvYW55YXJyYXkuc2dtbCB3aXRoIGRlc2NyaXB0aW9ucyBvZiBldmVyeTwvZGl2PjxkaXY+wqAg ZnVuY3Rpb24sIG9wZXJhdG9yIGFuZCBvcGNsYXNzLCBwbHVzIGEgdXNhZ2UgZXhhbXBsZS48L2Rp dj48ZGl2PsKgPC9kaXY+PGRpdj4qIFJlZ3Jlc3Npb24gdGVzdCAoY29udHJpYi9hbnlhcnJheS9z cWwvYW55YXJyYXkuc3FsLDwvZGl2PjxkaXY+wqAgZXhwZWN0ZWQvYW55YXJyYXkub3V0KSBjb3Zl cmluZyBpbnQ4LCB1dWlkIGFuZCB0ZXh0IGlucHV0cyw8L2Rpdj48ZGl2PsKgIHRoZSBlcnJvciBw YXRocywgYW5kIGEgY3Jvc3MtQU0gY29uc2lzdGVuY3kgYmxvY2sgdGhhdDwvZGl2PjxkaXY+wqAg YXNzZXJ0cyBzZXFzY2FuLCBHaVNUIGFuZCBHSU4gcmV0dXJuIHRoZSBzYW1lIHJvdyBzZXQgZm9y PC9kaXY+PGRpdj7CoCBzZXZlbiByZXByZXNlbnRhdGl2ZSBwcmVkaWNhdGVzLjwvZGl2PjxkaXY+ LS0tPC9kaXY+PGRpdj7CoGNvbnRyaWIvTWFrZWZpbGUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgfCDCoCAxICs8L2Rpdj48ZGl2PsKgY29udHJpYi9hbnlhcnJheS8uZ2l0aWdub3Jl IMKgIMKgIMKgIMKgIMKgIMKgfCDCoCA0ICs8L2Rpdj48ZGl2PsKgY29udHJpYi9hbnlhcnJheS9N YWtlZmlsZSDCoCDCoCDCoCDCoCDCoCDCoCDCoHwgwqAyNyArPC9kaXY+PGRpdj7CoGNvbnRyaWIv YW55YXJyYXkvYW55YXJyYXktLTEuMC5zcWwgwqAgwqAgfCAzMzYgKysrKysrKysrKys8L2Rpdj48 ZGl2PsKgY29udHJpYi9hbnlhcnJheS9hbnlhcnJheS5jIMKgIMKgIMKgIMKgIMKgIMKgfCAxMTYg KysrKzwvZGl2PjxkaXY+wqBjb250cmliL2FueWFycmF5L2FueWFycmF5LmNvbnRyb2wgwqAgwqAg wqB8IMKgIDYgKzwvZGl2PjxkaXY+wqBjb250cmliL2FueWFycmF5L2FueWFycmF5LmggwqAgwqAg wqAgwqAgwqAgwqB8IDE4NCArKysrKys8L2Rpdj48ZGl2PsKgY29udHJpYi9hbnlhcnJheS9hbnlh cnJheV9ib29sLmMgwqAgwqAgwqAgfCA2NjQgKysrKysrKysrKysrKysrKysrKysrKzwvZGl2Pjxk aXY+wqBjb250cmliL2FueWFycmF5L2FueWFycmF5X2dpbi5jIMKgIMKgIMKgIMKgfCAzNzQgKysr KysrKysrKysrKzwvZGl2PjxkaXY+wqBjb250cmliL2FueWFycmF5L2FueWFycmF5X2dpc3QuYyDC oCDCoCDCoCB8IDc0MiArKysrKysrKysrKysrKysrKysrKysrKysrPC9kaXY+PGRpdj7CoGNvbnRy aWIvYW55YXJyYXkvYW55YXJyYXlfb3AuYyDCoCDCoCDCoCDCoCB8IDYxMyArKysrKysrKysrKysr KysrKysrKzwvZGl2PjxkaXY+wqBjb250cmliL2FueWFycmF5L2V4cGVjdGVkL2FueWFycmF5Lm91 dCB8IDcyNyArKysrKysrKysrKysrKysrKysrKysrKys8L2Rpdj48ZGl2PsKgY29udHJpYi9hbnlh cnJheS9tZXNvbi5idWlsZCDCoCDCoCDCoCDCoCDCoCB8IMKgMzggKys8L2Rpdj48ZGl2PsKgY29u dHJpYi9hbnlhcnJheS9zcWwvYW55YXJyYXkuc3FsIMKgIMKgIMKgfCAzMzAgKysrKysrKysrKys8 L2Rpdj48ZGl2PsKgY29udHJpYi9tZXNvbi5idWlsZCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoHwgwqAgMSArPC9kaXY+PGRpdj7CoGRvYy9zcmMvc2dtbC9hbnlhcnJheS5zZ21sIMKgIMKg IMKgIMKgIMKgIMKgIHwgNDgyICsrKysrKysrKysrKysrKys8L2Rpdj48ZGl2PsKgZG9jL3NyYy9z Z21sL2NvbnRyaWIuc2dtbCDCoCDCoCDCoCDCoCDCoCDCoCDCoHwgwqAgMSArPC9kaXY+PGRpdj7C oGRvYy9zcmMvc2dtbC9maWxlbGlzdC5zZ21sIMKgIMKgIMKgIMKgIMKgIMKgIHwgwqAgMSArPC9k aXY+PGRpdj7CoHNyYy90ZXN0L3JlZ3Jlc3MvcmVncmVzc2lvbi5kaWZmcyDCoCDCoCDCoHwgwqAg MDwvZGl2PjxkaXY+wqBzcmMvdGVzdC9yZWdyZXNzL3JlZ3Jlc3Npb24ub3V0IMKgIMKgIMKgIMKg fCDCoCAyICs8L2Rpdj48ZGl2PsKgc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgwqAg wqAgwqAgfCDCoCA4ICs8L2Rpdj48ZGl2PsKgMjEgZmlsZXMgY2hhbmdlZCwgNDY1NyBpbnNlcnRp b25zKCspPC9kaXY+PGRpdj7CoGNyZWF0ZSBtb2RlIDEwMDY0NCBjb250cmliL2FueWFycmF5Ly5n aXRpZ25vcmU8L2Rpdj48ZGl2PsKgY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIvYW55YXJyYXkv TWFrZWZpbGU8L2Rpdj48ZGl2PsKgY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIvYW55YXJyYXkv YW55YXJyYXktLTEuMC5zcWw8L2Rpdj48ZGl2PsKgY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbnRyaWIv YW55YXJyYXkvYW55YXJyYXkuYzwvZGl2PjxkaXY+wqBjcmVhdGUgbW9kZSAxMDA2NDQgY29udHJp Yi9hbnlhcnJheS9hbnlhcnJheS5jb250cm9sPC9kaXY+PGRpdj7CoGNyZWF0ZSBtb2RlIDEwMDY0 NCBjb250cmliL2FueWFycmF5L2FueWFycmF5Lmg8L2Rpdj48ZGl2PsKgY3JlYXRlIG1vZGUgMTAw NjQ0IGNvbnRyaWIvYW55YXJyYXkvYW55YXJyYXlfYm9vbC5jPC9kaXY+PGRpdj7CoGNyZWF0ZSBt b2RlIDEwMDY0NCBjb250cmliL2FueWFycmF5L2FueWFycmF5X2dpbi5jPC9kaXY+PGRpdj7CoGNy ZWF0ZSBtb2RlIDEwMDY0NCBjb250cmliL2FueWFycmF5L2FueWFycmF5X2dpc3QuYzwvZGl2Pjxk aXY+wqBjcmVhdGUgbW9kZSAxMDA2NDQgY29udHJpYi9hbnlhcnJheS9hbnlhcnJheV9vcC5jPC9k aXY+PGRpdj7CoGNyZWF0ZSBtb2RlIDEwMDY0NCBjb250cmliL2FueWFycmF5L2V4cGVjdGVkL2Fu eWFycmF5Lm91dDwvZGl2PjxkaXY+wqBjcmVhdGUgbW9kZSAxMDA2NDQgY29udHJpYi9hbnlhcnJh eS9tZXNvbi5idWlsZDwvZGl2PjxkaXY+wqBjcmVhdGUgbW9kZSAxMDA2NDQgY29udHJpYi9hbnlh cnJheS9zcWwvYW55YXJyYXkuc3FsPC9kaXY+PGRpdj7CoGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2Mv c3JjL3NnbWwvYW55YXJyYXkuc2dtbDwvZGl2PjxkaXY+wqBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj L3Rlc3QvcmVncmVzcy9yZWdyZXNzaW9uLmRpZmZzPC9kaXY+PGRpdj7CoGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmMvdGVzdC9yZWdyZXNzL3JlZ3Jlc3Npb24ub3V0PC9kaXY+PGRpdj7CoDwvZGl2Pjxk aXY+ZGlmZiAtLWdpdCBhL2NvbnRyaWIvTWFrZWZpbGUgYi9jb250cmliL01ha2VmaWxlPC9kaXY+ PGRpdj5pbmRleCA3ZDkxZmU3N2RiMy4uYjk1ODZjYjNhNmIgMTAwNjQ0PC9kaXY+PGRpdj4tLS0g YS9jb250cmliL01ha2VmaWxlPC9kaXY+PGRpdj4rKysgYi9jb250cmliL01ha2VmaWxlPC9kaXY+ PGRpdj5AQCAtNiw2ICs2LDcgQEAgaW5jbHVkZSAkKHRvcF9idWlsZGRpcikvc3JjL01ha2VmaWxl Lmdsb2JhbDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PsKgU1VCRElSUyA9IFw8L2Rpdj48ZGl2PsKg wqDCoCDCoMKgwqAgwqBhbWNoZWNrwqDCoCDCoMKgwqAgwqBcPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqBhbnlhcnJhecKgwqAgwqBcPC9kaXY+PGRpdj7CoMKgwqAgwqDCoMKgIMKgYXV0aF9kZWxh ecKgwqAgwqBcPC9kaXY+PGRpdj7CoMKgwqAgwqDCoMKgIMKgYXV0b19leHBsYWluwqDCoCDCoFw8 L2Rpdj48ZGl2PsKgwqDCoCDCoMKgwqAgwqBiYXNpY19hcmNoaXZlwqDCoCDCoFw8L2Rpdj48ZGl2 PmRpZmYgLS1naXQgYS9jb250cmliL2FueWFycmF5Ly5naXRpZ25vcmUgYi9jb250cmliL2FueWFy cmF5Ly5naXRpZ25vcmU8L2Rpdj48ZGl2Pm5ldyBmaWxlIG1vZGUgMTAwNjQ0PC9kaXY+PGRpdj5p bmRleCAwMDAwMDAwMDAwMC4uNWRjYjNmZjk3MjM8L2Rpdj48ZGl2Pi0tLSAvZGV2L251bGw8L2Rp dj48ZGl2PisrKyBiL2NvbnRyaWIvYW55YXJyYXkvLmdpdGlnbm9yZTwvZGl2PjxkaXY+QEAgLTAs MCArMSw0IEBAPC9kaXY+PGRpdj4rIyBHZW5lcmF0ZWQgc3ViZGlyZWN0b3JpZXM8L2Rpdj48ZGl2 PisvbG9nLzwvZGl2PjxkaXY+Ky9yZXN1bHRzLzwvZGl2PjxkaXY+Ky90bXBfY2hlY2svPC9kaXY+ PGRpdj5kaWZmIC0tZ2l0IGEvY29udHJpYi9hbnlhcnJheS9NYWtlZmlsZSBiL2NvbnRyaWIvYW55 YXJyYXkvTWFrZWZpbGU8L2Rpdj48ZGl2Pm5ldyBmaWxlIG1vZGUgMTAwNjQ0PC9kaXY+PGRpdj5p bmRleCAwMDAwMDAwMDAwMC4uZDZlYjlhZTEwYWQ8L2Rpdj48ZGl2Pi0tLSAvZGV2L251bGw8L2Rp dj48ZGl2PisrKyBiL2NvbnRyaWIvYW55YXJyYXkvTWFrZWZpbGU8L2Rpdj48ZGl2PkBAIC0wLDAg KzEsMjcgQEA8L2Rpdj48ZGl2PisjIGNvbnRyaWIvYW55YXJyYXkvTWFrZWZpbGU8L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PitNT0RVTEVfYmlnID0gYW55YXJyYXk8L2Rpdj48ZGl2PitPQkpTID0gXDwv ZGl2PjxkaXY+K8KgwqAgwqAkKFdJTjMyUkVTKSBcPC9kaXY+PGRpdj4rwqDCoCDCoGFueWFycmF5 Lm8gXDwvZGl2PjxkaXY+K8KgwqAgwqBhbnlhcnJheV9ib29sLm8gXDwvZGl2PjxkaXY+K8KgwqAg wqBhbnlhcnJheV9naW4ubyBcPC9kaXY+PGRpdj4rwqDCoCDCoGFueWFycmF5X2dpc3QubyBcPC9k aXY+PGRpdj4rwqDCoCDCoGFueWFycmF5X29wLm88L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitFWFRF TlNJT04gPSBhbnlhcnJheTwvZGl2PjxkaXY+K0RBVEEgPSBhbnlhcnJheS0tMS4wLnNxbDwvZGl2 PjxkaXY+K1BHRklMRURFU0MgPSAiYW55YXJyYXkgLSBvcGVyYXRpb25zIGFuZCBpbmRleGVzIGZv ciBhcnJheXMgb2YgYW55IHR5cGUiPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rUkVHUkVTUyA9IGFu eWFycmF5PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4raWZkZWYgVVNFX1BHWFM8L2Rpdj48ZGl2PitQ R19DT05GSUcgPSBwZ19jb25maWc8L2Rpdj48ZGl2PitQR1hTIDo9ICQoc2hlbGwgJChQR19DT05G SUcpIC0tcGd4cyk8L2Rpdj48ZGl2PitpbmNsdWRlICQoUEdYUyk8L2Rpdj48ZGl2PitlbHNlPC9k aXY+PGRpdj4rc3ViZGlyID0gY29udHJpYi9hbnlhcnJheTwvZGl2PjxkaXY+K3RvcF9idWlsZGRp ciA9IC4uLy4uPC9kaXY+PGRpdj4raW5jbHVkZSAkKHRvcF9idWlsZGRpcikvc3JjL01ha2VmaWxl Lmdsb2JhbDwvZGl2PjxkaXY+K2luY2x1ZGUgJCh0b3Bfc3JjZGlyKS9jb250cmliL2NvbnRyaWIt Z2xvYmFsLm1rPC9kaXY+PGRpdj4rZW5kaWY8L2Rpdj48ZGl2PmRpZmYgLS1naXQgYS9jb250cmli L2FueWFycmF5L2FueWFycmF5LS0xLjAuc3FsIGIvY29udHJpYi9hbnlhcnJheS9hbnlhcnJheS0t MS4wLnNxbDwvZGl2PjxkaXY+bmV3IGZpbGUgbW9kZSAxMDA2NDQ8L2Rpdj48ZGl2PmluZGV4IDAw MDAwMDAwMDAwLi44NGJjZmYzNGI1YjwvZGl2PjxkaXY+LS0tIC9kZXYvbnVsbDwvZGl2PjxkaXY+ KysrIGIvY29udHJpYi9hbnlhcnJheS9hbnlhcnJheS0tMS4wLnNxbDwvZGl2PjxkaXY+QEAgLTAs MCArMSwzMzYgQEA8L2Rpdj48ZGl2PisvKiBjb250cmliL2FueWFycmF5L2FueWFycmF5LS0xLjAu c3FsICovPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gY29tcGxhaW4gaWYgc2NyaXB0IGlzIHNv dXJjZWQgaW4gcHNxbCwgcmF0aGVyIHRoYW4gdmlhIENSRUFURSBFWFRFTlNJT048L2Rpdj48ZGl2 PitcZWNobyBVc2UgIkNSRUFURSBFWFRFTlNJT04gYW55YXJyYXkiIHRvIGxvYWQgdGhpcyBmaWxl LiBccXVpdDwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rLS0gU2V0LXN0eWxl IG9wZXJhdGlvbnMgZm9yIGFycmF5cyBvZiBhbnkgYnRyZWUtb3JkZXJhYmxlIGVsZW1lbnQgdHlw ZS48L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBGVU5DVElPTiBh bnlhcnJheV9zb3J0KGFueWFycmF5KTwvZGl2PjxkaXY+K1JFVFVSTlMgYW55YXJyYXk8L2Rpdj48 ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueWFycmF5X3NvcnQnPC9kaXY+PGRpdj4rTEFO R1VBR0UgQyBTVFJJQ1QgSU1NVVRBQkxFIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+ PGRpdj4rQ1JFQVRFIEZVTkNUSU9OIGFueWFycmF5X3NvcnQoYW55YXJyYXksIHRleHQpPC9kaXY+ PGRpdj4rUkVUVVJOUyBhbnlhcnJheTwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAn YW55YXJyYXlfc29ydF9kaXInPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBTVFJJQ1QgSU1NVVRBQkxF IFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIEZVTkNUSU9OIGFu eWFycmF5X3VuaXEoYW55YXJyYXkpPC9kaXY+PGRpdj4rUkVUVVJOUyBhbnlhcnJheTwvZGl2Pjxk aXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfdW5pcSc8L2Rpdj48ZGl2PitMQU5H VUFHRSBDIFNUUklDVCBJTU1VVEFCTEUgUEFSQUxMRUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfaWR4KGFueWFycmF5LCBhbnllbGVtZW50KTwv ZGl2PjxkaXY+K1JFVFVSTlMgaW50NDwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAn YW55YXJyYXlfaWR4JzwvZGl2PjxkaXY+K0xBTkdVQUdFIEMgU1RSSUNUIElNTVVUQUJMRSBQQVJB TExFTCBTQUZFOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBGVU5DVElPTiBhbnlhcnJh eV9zdWJhcnJheShhbnlhcnJheSwgaW50NCwgaW50NCk8L2Rpdj48ZGl2PitSRVRVUk5TIGFueWFy cmF5PC9kaXY+PGRpdj4rQVMgJ01PRFVMRV9QQVRITkFNRScsICdhbnlhcnJheV9zdWJhcnJheSc8 L2Rpdj48ZGl2PitMQU5HVUFHRSBDIFNUUklDVCBJTU1VVEFCTEUgUEFSQUxMRUwgU0FGRTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfc3ViYXJyYXkoYW55 YXJyYXksIGludDQpPC9kaXY+PGRpdj4rUkVUVVJOUyBhbnlhcnJheTwvZGl2PjxkaXY+K0FTICdN T0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfc3ViYXJyYXlfdG9fZW5kJzwvZGl2PjxkaXY+K0xB TkdVQUdFIEMgU1RSSUNUIElNTVVUQUJMRSBQQVJBTExFTCBTQUZFOzwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K0NSRUFURSBGVU5DVElPTiBhbnlhcnJheV9pY291bnQoYW55YXJyYXkpPC9kaXY+PGRp dj4rUkVUVVJOUyBpbnQ0PC9kaXY+PGRpdj4rQVMgJ01PRFVMRV9QQVRITkFNRScsICdhbnlhcnJh eV9pY291bnQnPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBTVFJJQ1QgSU1NVVRBQkxFIFBBUkFMTEVM IFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIEZVTkNUSU9OIGFueWFycmF5X2lu dGVyc2VjdChhbnlhcnJheSwgYW55YXJyYXkpPC9kaXY+PGRpdj4rUkVUVVJOUyBhbnlhcnJheTwv ZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfaW50ZXJzZWN0JzwvZGl2 PjxkaXY+K0xBTkdVQUdFIEMgU1RSSUNUIElNTVVUQUJMRSBQQVJBTExFTCBTQUZFOzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K0NSRUFURSBGVU5DVElPTiBhbnlhcnJheV91bmlvbihhbnlhcnJheSwg YW55YXJyYXkpPC9kaXY+PGRpdj4rUkVUVVJOUyBhbnlhcnJheTwvZGl2PjxkaXY+K0FTICdNT0RV TEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfdW5pb24nPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBTVFJJ Q1QgSU1NVVRBQkxFIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRF IEZVTkNUSU9OIGFueWFycmF5X3VuaW9uX2VsZW0oYW55YXJyYXksIGFueWVsZW1lbnQpPC9kaXY+ PGRpdj4rUkVUVVJOUyBhbnlhcnJheTwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAn YW55YXJyYXlfdW5pb25fZWxlbSc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIFNUUklDVCBJTU1VVEFC TEUgUEFSQUxMRUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04g YW55YXJyYXlfZGlmZmVyZW5jZShhbnlhcnJheSwgYW55YXJyYXkpPC9kaXY+PGRpdj4rUkVUVVJO UyBhbnlhcnJheTwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfZGlm ZmVyZW5jZSc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIFNUUklDVCBJTU1VVEFCTEUgUEFSQUxMRUwg U0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfZGlm ZmVyZW5jZV9lbGVtKGFueWFycmF5LCBhbnllbGVtZW50KTwvZGl2PjxkaXY+K1JFVFVSTlMgYW55 YXJyYXk8L2Rpdj48ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueWFycmF5X2RpZmZlcmVu Y2VfZWxlbSc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIFNUUklDVCBJTU1VVEFCTEUgUEFSQUxMRUwg U0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+Ky0tIE9wZXJhdG9yczwv ZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gVW5hcnkgcHJlZml4ICMgOiBj YXJkaW5hbGl0eSAobnVtYmVyIG9mIGVsZW1lbnRzKTwvZGl2PjxkaXY+K0NSRUFURSBPUEVSQVRP UiAjICg8L2Rpdj48ZGl2PivCoMKgIMKgUklHSFRBUkcgPSBhbnlhcnJheSw8L2Rpdj48ZGl2PivC oMKgIMKgUFJPQ0VEVVJFID0gYW55YXJyYXlfaWNvdW50PC9kaXY+PGRpdj4rKTs8L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PistLSBhcnJheSAjIGVsZW1lbnQgOiAxLWJhc2VkIGluZGV4IG9mIGVsZW1l bnQsIG9yIDAgaWYgbm90IGZvdW5kPC9kaXY+PGRpdj4rQ1JFQVRFIE9QRVJBVE9SICMgKDwvZGl2 PjxkaXY+K8KgwqAgwqBMRUZUQVJHID0gYW55YXJyYXksPC9kaXY+PGRpdj4rwqDCoCDCoFJJR0hU QVJHID0gYW55ZWxlbWVudCw8L2Rpdj48ZGl2PivCoMKgIMKgUFJPQ0VEVVJFID0gYW55YXJyYXlf aWR4PC9kaXY+PGRpdj4rKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSBTZXQgaW50ZXJzZWN0 aW9uPC9kaXY+PGRpdj4rQ1JFQVRFIE9QRVJBVE9SICZhbXA7ICg8L2Rpdj48ZGl2PivCoMKgIMKg TEVGVEFSRyA9IGFueWFycmF5LDwvZGl2PjxkaXY+K8KgwqAgwqBSSUdIVEFSRyA9IGFueWFycmF5 LDwvZGl2PjxkaXY+K8KgwqAgwqBDT01NVVRBVE9SID0gJmFtcDssPC9kaXY+PGRpdj4rwqDCoCDC oFBST0NFRFVSRSA9IGFueWFycmF5X2ludGVyc2VjdDwvZGl2PjxkaXY+Kyk7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rLS0gU2V0IHVuaW9uIChhcnJheSB8IGFycmF5KTwvZGl2PjxkaXY+K0NSRUFU RSBPUEVSQVRPUiB8ICg8L2Rpdj48ZGl2PivCoMKgIMKgTEVGVEFSRyA9IGFueWFycmF5LDwvZGl2 PjxkaXY+K8KgwqAgwqBSSUdIVEFSRyA9IGFueWFycmF5LDwvZGl2PjxkaXY+K8KgwqAgwqBDT01N VVRBVE9SID0gfCw8L2Rpdj48ZGl2PivCoMKgIMKgUFJPQ0VEVVJFID0gYW55YXJyYXlfdW5pb248 L2Rpdj48ZGl2PispOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIEFwcGVuZCBlbGVtZW50IChh cnJheSB8IGVsZW1lbnQpPC9kaXY+PGRpdj4rQ1JFQVRFIE9QRVJBVE9SIHwgKDwvZGl2PjxkaXY+ K8KgwqAgwqBMRUZUQVJHID0gYW55YXJyYXksPC9kaXY+PGRpdj4rwqDCoCDCoFJJR0hUQVJHID0g YW55ZWxlbWVudCw8L2Rpdj48ZGl2PivCoMKgIMKgUFJPQ0VEVVJFID0gYW55YXJyYXlfdW5pb25f ZWxlbTwvZGl2PjxkaXY+Kyk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gU2V0IGRpZmZlcmVu Y2UgKGFycmF5IC0gYXJyYXkpPC9kaXY+PGRpdj4rQ1JFQVRFIE9QRVJBVE9SIC0gKDwvZGl2Pjxk aXY+K8KgwqAgwqBMRUZUQVJHID0gYW55YXJyYXksPC9kaXY+PGRpdj4rwqDCoCDCoFJJR0hUQVJH ID0gYW55YXJyYXksPC9kaXY+PGRpdj4rwqDCoCDCoFBST0NFRFVSRSA9IGFueWFycmF5X2RpZmZl cmVuY2U8L2Rpdj48ZGl2PispOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIFJlbW92ZSBhbGwg b2NjdXJyZW5jZXMgb2YgZWxlbWVudCAoYXJyYXkgLSBlbGVtZW50KTwvZGl2PjxkaXY+K0NSRUFU RSBPUEVSQVRPUiAtICg8L2Rpdj48ZGl2PivCoMKgIMKgTEVGVEFSRyA9IGFueWFycmF5LDwvZGl2 PjxkaXY+K8KgwqAgwqBSSUdIVEFSRyA9IGFueWVsZW1lbnQsPC9kaXY+PGRpdj4rwqDCoCDCoFBS T0NFRFVSRSA9IGFueWFycmF5X2RpZmZlcmVuY2VfZWxlbTwvZGl2PjxkaXY+Kyk7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rLS08L2Rpdj48ZGl2PistLSBCb29sZWFuIHF1ZXJ5IHR5cGU8L2Rpdj48 ZGl2PistLTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBGVU5DVElPTiBhbnlxdWVyeV9p bihjc3RyaW5nKTwvZGl2PjxkaXY+K1JFVFVSTlMgYW55cXVlcnk8L2Rpdj48ZGl2PitBUyAnTU9E VUxFX1BBVEhOQU1FJywgJ2FueXF1ZXJ5X2luJzwvZGl2PjxkaXY+K0xBTkdVQUdFIEMgU1RSSUNU IElNTVVUQUJMRSBQQVJBTExFTCBTQUZFOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBG VU5DVElPTiBhbnlxdWVyeV9vdXQoYW55cXVlcnkpPC9kaXY+PGRpdj4rUkVUVVJOUyBjc3RyaW5n PC9kaXY+PGRpdj4rQVMgJ01PRFVMRV9QQVRITkFNRScsICdhbnlxdWVyeV9vdXQnPC9kaXY+PGRp dj4rTEFOR1VBR0UgQyBTVFJJQ1QgSU1NVVRBQkxFIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rQ1JFQVRFIFRZUEUgYW55cXVlcnkgKDwvZGl2PjxkaXY+K8KgwqAgwqBJTlRF Uk5BTExFTkdUSCA9IC0xLDwvZGl2PjxkaXY+K8KgwqAgwqBJTlBVVCA9IGFueXF1ZXJ5X2luLDwv ZGl2PjxkaXY+K8KgwqAgwqBPVVRQVVQgPSBhbnlxdWVyeV9vdXQsPC9kaXY+PGRpdj4rwqDCoCDC oFNUT1JBR0UgPSBleHRlbmRlZDwvZGl2PjxkaXY+Kyk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r Q1JFQVRFIEZVTkNUSU9OIGFueXF1ZXJ5X3F1ZXJ5dHJlZShhbnlxdWVyeSk8L2Rpdj48ZGl2PitS RVRVUk5TIHRleHQ8L2Rpdj48ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueXF1ZXJ5X3F1 ZXJ5dHJlZSc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIFNUUklDVCBJTU1VVEFCTEUgUEFSQUxMRUwg U0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfYm9v bG9wKGFueWFycmF5LCBhbnlxdWVyeSk8L2Rpdj48ZGl2PitSRVRVUk5TIGJvb2w8L2Rpdj48ZGl2 PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueWFycmF5X2Jvb2xvcCc8L2Rpdj48ZGl2PitMQU5H VUFHRSBDIFNUUklDVCBJTU1VVEFCTEUgUEFSQUxMRUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55cXVlcnlfYm9vbG9wX3JldihhbnlxdWVyeSwgYW55YXJy YXkpPC9kaXY+PGRpdj4rUkVUVVJOUyBib29sPC9kaXY+PGRpdj4rQVMgJ01PRFVMRV9QQVRITkFN RScsICdhbnlxdWVyeV9ib29sb3BfcmV2JzwvZGl2PjxkaXY+K0xBTkdVQUdFIEMgU1RSSUNUIElN TVVUQUJMRSBQQVJBTExFTCBTQUZFOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBPUEVS QVRPUiBAQCAoPC9kaXY+PGRpdj4rwqDCoCDCoExFRlRBUkcgPSBhbnlhcnJheSw8L2Rpdj48ZGl2 PivCoMKgIMKgUklHSFRBUkcgPSBhbnlxdWVyeSw8L2Rpdj48ZGl2PivCoMKgIMKgUFJPQ0VEVVJF ID0gYW55YXJyYXlfYm9vbG9wLDwvZGl2PjxkaXY+K8KgwqAgwqBDT01NVVRBVE9SID0gJ35+Jyw8 L2Rpdj48ZGl2PivCoMKgIMKgUkVTVFJJQ1QgPSBjb250c2VsLDwvZGl2PjxkaXY+K8KgwqAgwqBK T0lOID0gY29udGpvaW5zZWw8L2Rpdj48ZGl2PispOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NS RUFURSBPUEVSQVRPUiB+fiAoPC9kaXY+PGRpdj4rwqDCoCDCoExFRlRBUkcgPSBhbnlxdWVyeSw8 L2Rpdj48ZGl2PivCoMKgIMKgUklHSFRBUkcgPSBhbnlhcnJheSw8L2Rpdj48ZGl2PivCoMKgIMKg UFJPQ0VEVVJFID0gYW55cXVlcnlfYm9vbG9wX3Jldiw8L2Rpdj48ZGl2PivCoMKgIMKgQ09NTVVU QVRPUiA9ICdAQCcsPC9kaXY+PGRpdj4rwqDCoCDCoFJFU1RSSUNUID0gY29udHNlbCw8L2Rpdj48 ZGl2PivCoMKgIMKgSk9JTiA9IGNvbnRqb2luc2VsPC9kaXY+PGRpdj4rKTs8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+Ky0tIEdpU1Qgb3BjbGFzcyAoc2lnbmF0dXJlLWJhc2Vk KTwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIEZVTkNUSU9OIGFu eWFycmF5X2dpc3Rfa2V5X2luKGNzdHJpbmcpPC9kaXY+PGRpdj4rUkVUVVJOUyBhbnlhcnJheV9n aXN0X2tleTwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfZ2lzdF9r ZXlfaW4nPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBTVFJJQ1QgSU1NVVRBQkxFIFBBUkFMTEVMIFNB RkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIEZVTkNUSU9OIGFueWFycmF5X2dpc3Rf a2V5X291dChhbnlhcnJheV9naXN0X2tleSk8L2Rpdj48ZGl2PitSRVRVUk5TIGNzdHJpbmc8L2Rp dj48ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueWFycmF5X2dpc3Rfa2V5X291dCc8L2Rp dj48ZGl2PitMQU5HVUFHRSBDIFNUUklDVCBJTU1VVEFCTEUgUEFSQUxMRUwgU0FGRTs8L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgVFlQRSBhbnlhcnJheV9naXN0X2tleSAoPC9kaXY+PGRp dj4rwqDCoCDCoElOVEVSTkFMTEVOR1RIID0gLTEsPC9kaXY+PGRpdj4rwqDCoCDCoElOUFVUID0g YW55YXJyYXlfZ2lzdF9rZXlfaW4sPC9kaXY+PGRpdj4rwqDCoCDCoE9VVFBVVCA9IGFueWFycmF5 X2dpc3Rfa2V5X291dDwvZGl2PjxkaXY+Kyk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRF IEZVTkNUSU9OIGFueWFycmF5X2dpc3RfY29uc2lzdGVudChpbnRlcm5hbCwgYW55YXJyYXksIHNt YWxsaW50LCBvaWQsIGludGVybmFsKTwvZGl2PjxkaXY+K1JFVFVSTlMgYm9vbDwvZGl2PjxkaXY+ K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfZ2lzdF9jb25zaXN0ZW50JzwvZGl2Pjxk aXY+K0xBTkdVQUdFIEMgSU1NVVRBQkxFIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+ PGRpdj4rQ1JFQVRFIEZVTkNUSU9OIGFueWFycmF5X2dpc3RfY29tcHJlc3MoaW50ZXJuYWwpPC9k aXY+PGRpdj4rUkVUVVJOUyBpbnRlcm5hbDwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUn LCAnYW55YXJyYXlfZ2lzdF9jb21wcmVzcyc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIElNTVVUQUJM RSBTVFJJQ1QgUEFSQUxMRUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVO Q1RJT04gYW55YXJyYXlfZ2lzdF9kZWNvbXByZXNzKGludGVybmFsKTwvZGl2PjxkaXY+K1JFVFVS TlMgaW50ZXJuYWw8L2Rpdj48ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueWFycmF5X2dp c3RfZGVjb21wcmVzcyc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIElNTVVUQUJMRSBTVFJJQ1QgUEFS QUxMRUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJy YXlfZ2lzdF91bmlvbihpbnRlcm5hbCwgaW50ZXJuYWwpPC9kaXY+PGRpdj4rUkVUVVJOUyBhbnlh cnJheV9naXN0X2tleTwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlf Z2lzdF91bmlvbic8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIElNTVVUQUJMRSBTVFJJQ1QgUEFSQUxM RUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlf Z2lzdF9zYW1lKGFueWFycmF5X2dpc3Rfa2V5LCBhbnlhcnJheV9naXN0X2tleSwgaW50ZXJuYWwp PC9kaXY+PGRpdj4rUkVUVVJOUyBpbnRlcm5hbDwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5B TUUnLCAnYW55YXJyYXlfZ2lzdF9zYW1lJzwvZGl2PjxkaXY+K0xBTkdVQUdFIEMgSU1NVVRBQkxF IFNUUklDVCBQQVJBTExFTCBTQUZFOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBGVU5D VElPTiBhbnlhcnJheV9naXN0X3BlbmFsdHkoaW50ZXJuYWwsIGludGVybmFsLCBpbnRlcm5hbCk8 L2Rpdj48ZGl2PitSRVRVUk5TIGludGVybmFsPC9kaXY+PGRpdj4rQVMgJ01PRFVMRV9QQVRITkFN RScsICdhbnlhcnJheV9naXN0X3BlbmFsdHknPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBJTU1VVEFC TEUgU1RSSUNUIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIEZV TkNUSU9OIGFueWFycmF5X2dpc3RfcGlja3NwbGl0KGludGVybmFsLCBpbnRlcm5hbCk8L2Rpdj48 ZGl2PitSRVRVUk5TIGludGVybmFsPC9kaXY+PGRpdj4rQVMgJ01PRFVMRV9QQVRITkFNRScsICdh bnlhcnJheV9naXN0X3BpY2tzcGxpdCc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIElNTVVUQUJMRSBT VFJJQ1QgUEFSQUxMRUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJ T04gYW55YXJyYXlfZ2lzdF9vcHRpb25zKGludGVybmFsKTwvZGl2PjxkaXY+K1JFVFVSTlMgdm9p ZDwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfZ2lzdF9vcHRpb25z JzwvZGl2PjxkaXY+K0xBTkdVQUdFIEMgSU1NVVRBQkxFIFNUUklDVCBQQVJBTExFTCBTQUZFOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBPUEVSQVRPUiBDTEFTUyBhbnlhcnJheV9naXN0 X29wczwvZGl2PjxkaXY+K0ZPUiBUWVBFIGFueWFycmF5IFVTSU5HIGdpc3Q8L2Rpdj48ZGl2PitB UzwvZGl2PjxkaXY+K8KgwqAgwqBPUEVSQVRPUsKgwqAgwqAzwqDCoCDCoCZhbXA7JmFtcDssPC9k aXY+PGRpdj4rwqDCoCDCoE9QRVJBVE9SwqDCoCDCoDfCoMKgIMKgQCZndDssPC9kaXY+PGRpdj4r wqDCoCDCoE9QRVJBVE9SwqDCoCDCoDjCoMKgIMKgJmx0O0AsPC9kaXY+PGRpdj4rwqDCoCDCoE9Q RVJBVE9SwqDCoCDCoDE4wqDCoCDCoD0sPC9kaXY+PGRpdj4rwqDCoCDCoE9QRVJBVE9SwqDCoCDC oDIwwqDCoCDCoEBAIChhbnlhcnJheSwgYW55cXVlcnkpLDwvZGl2PjxkaXY+K8KgwqAgwqBGVU5D VElPTsKgwqAgwqAxwqDCoCDCoGFueWFycmF5X2dpc3RfY29uc2lzdGVudChpbnRlcm5hbCwgYW55 YXJyYXksIHNtYWxsaW50LCBvaWQsIGludGVybmFsKSw8L2Rpdj48ZGl2PivCoMKgIMKgRlVOQ1RJ T07CoMKgIMKgMsKgwqAgwqBhbnlhcnJheV9naXN0X3VuaW9uKGludGVybmFsLCBpbnRlcm5hbCks PC9kaXY+PGRpdj4rwqDCoCDCoEZVTkNUSU9OwqDCoCDCoDPCoMKgIMKgYW55YXJyYXlfZ2lzdF9j b21wcmVzcyhpbnRlcm5hbCksPC9kaXY+PGRpdj4rwqDCoCDCoEZVTkNUSU9OwqDCoCDCoDTCoMKg IMKgYW55YXJyYXlfZ2lzdF9kZWNvbXByZXNzKGludGVybmFsKSw8L2Rpdj48ZGl2PivCoMKgIMKg RlVOQ1RJT07CoMKgIMKgNcKgwqAgwqBhbnlhcnJheV9naXN0X3BlbmFsdHkoaW50ZXJuYWwsIGlu dGVybmFsLCBpbnRlcm5hbCksPC9kaXY+PGRpdj4rwqDCoCDCoEZVTkNUSU9OwqDCoCDCoDbCoMKg IMKgYW55YXJyYXlfZ2lzdF9waWNrc3BsaXQoaW50ZXJuYWwsIGludGVybmFsKSw8L2Rpdj48ZGl2 PivCoMKgIMKgRlVOQ1RJT07CoMKgIMKgN8KgwqAgwqBhbnlhcnJheV9naXN0X3NhbWUoYW55YXJy YXlfZ2lzdF9rZXksIGFueWFycmF5X2dpc3Rfa2V5LCBpbnRlcm5hbCksPC9kaXY+PGRpdj4rwqDC oCDCoEZVTkNUSU9OwqDCoCDCoDEwwqDCoCDCoGFueWFycmF5X2dpc3Rfb3B0aW9ucyhpbnRlcm5h bCksPC9kaXY+PGRpdj4rwqDCoCDCoFNUT1JBR0XCoMKgIMKgwqDCoCDCoGFueWFycmF5X2dpc3Rf a2V5OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rLS0gR0lOIG9wY2xhc3Nl cyAocGVyIGNvbmNyZXRlIGVsZW1lbnQgdHlwZSwgc3VwcG9ydGluZyBzdGFuZGFyZCBvcHMgKyBA QCk8L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBGVU5DVElPTiBh bnlhcnJheV9naW5fZXh0cmFjdF9xdWVyeV9pbnQ4KDwvZGl2PjxkaXY+K8KgwqAgwqBpbnQ4W10s IGludGVybmFsLCBzbWFsbGludCwgaW50ZXJuYWwsIGludGVybmFsLCBpbnRlcm5hbCwgaW50ZXJu YWwpPC9kaXY+PGRpdj4rUkVUVVJOUyBpbnRlcm5hbDwvZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFU SE5BTUUnLCAnYW55YXJyYXlfZ2luX2V4dHJhY3RfcXVlcnlfaW50OCc8L2Rpdj48ZGl2PitMQU5H VUFHRSBDIElNTVVUQUJMRSBTVFJJQ1QgUEFSQUxMRUwgU0FGRTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfZ2luX2NvbnNpc3RlbnRfaW50OCg8L2Rpdj48 ZGl2PivCoMKgIMKgaW50ZXJuYWwsIHNtYWxsaW50LCBpbnQ4W10sIGludGVnZXIsIGludGVybmFs LCBpbnRlcm5hbCwgaW50ZXJuYWwsIGludGVybmFsKTwvZGl2PjxkaXY+K1JFVFVSTlMgYm9vbDwv ZGl2PjxkaXY+K0FTICdNT0RVTEVfUEFUSE5BTUUnLCAnYW55YXJyYXlfZ2luX2NvbnNpc3RlbnRf aW50OCc8L2Rpdj48ZGl2PitMQU5HVUFHRSBDIElNTVVUQUJMRSBTVFJJQ1QgUEFSQUxMRUwgU0FG RTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgT1BFUkFUT1IgQ0xBU1MgaW50OF9hbnlx dWVyeV9naW5fb3BzPC9kaXY+PGRpdj4rRk9SIFRZUEUgaW50OFtdIFVTSU5HIGdpbjwvZGl2Pjxk aXY+K0FTPC9kaXY+PGRpdj4rwqDCoCDCoE9QRVJBVE9SwqDCoCDCoDHCoMKgIMKgJmFtcDsmYW1w OyAoYW55YXJyYXksIGFueWFycmF5KSw8L2Rpdj48ZGl2PivCoMKgIMKgT1BFUkFUT1LCoMKgIMKg MsKgwqAgwqBAJmd0OyAoYW55YXJyYXksIGFueWFycmF5KSw8L2Rpdj48ZGl2PivCoMKgIMKgT1BF UkFUT1LCoMKgIMKgM8KgwqAgwqAmbHQ7QCAoYW55YXJyYXksIGFueWFycmF5KSw8L2Rpdj48ZGl2 PivCoMKgIMKgT1BFUkFUT1LCoMKgIMKgNMKgwqAgwqA9IChhbnlhcnJheSwgYW55YXJyYXkpLDwv ZGl2PjxkaXY+K8KgwqAgwqBPUEVSQVRPUsKgwqAgwqA1wqDCoCDCoEBAIChhbnlhcnJheSwgYW55 cXVlcnkpLDwvZGl2PjxkaXY+K8KgwqAgwqBGVU5DVElPTsKgwqAgwqAxwqDCoCDCoGJ0aW50OGNt cChpbnQ4LCBpbnQ4KSw8L2Rpdj48ZGl2PivCoMKgIMKgRlVOQ1RJT07CoMKgIMKgMsKgwqAgwqBn aW5hcnJheWV4dHJhY3QoYW55YXJyYXksIGludGVybmFsLCBpbnRlcm5hbCksPC9kaXY+PGRpdj4r wqDCoCDCoEZVTkNUSU9OwqDCoCDCoDPCoMKgIMKgYW55YXJyYXlfZ2luX2V4dHJhY3RfcXVlcnlf aW50OChpbnQ4W10sIGludGVybmFsLCBzbWFsbGludCwgaW50ZXJuYWwsIGludGVybmFsLCBpbnRl cm5hbCwgaW50ZXJuYWwpLDwvZGl2PjxkaXY+K8KgwqAgwqBGVU5DVElPTsKgwqAgwqA0wqDCoCDC oGFueWFycmF5X2dpbl9jb25zaXN0ZW50X2ludDgoaW50ZXJuYWwsIHNtYWxsaW50LCBpbnQ4W10s IGludGVnZXIsIGludGVybmFsLCBpbnRlcm5hbCwgaW50ZXJuYWwsIGludGVybmFsKSw8L2Rpdj48 ZGl2PivCoMKgIMKgU1RPUkFHRcKgwqAgwqDCoMKgIMKgaW50ODs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfZ2luX2V4dHJhY3RfcXVlcnlfdXVpZCg8L2Rp dj48ZGl2PivCoMKgIMKgdXVpZFtdLCBpbnRlcm5hbCwgc21hbGxpbnQsIGludGVybmFsLCBpbnRl cm5hbCwgaW50ZXJuYWwsIGludGVybmFsKTwvZGl2PjxkaXY+K1JFVFVSTlMgaW50ZXJuYWw8L2Rp dj48ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueWFycmF5X2dpbl9leHRyYWN0X3F1ZXJ5 X3V1aWQnPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBJTU1VVEFCTEUgU1RSSUNUIFBBUkFMTEVMIFNB RkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIEZVTkNUSU9OIGFueWFycmF5X2dpbl9j b25zaXN0ZW50X3V1aWQoPC9kaXY+PGRpdj4rwqDCoCDCoGludGVybmFsLCBzbWFsbGludCwgdXVp ZFtdLCBpbnRlZ2VyLCBpbnRlcm5hbCwgaW50ZXJuYWwsIGludGVybmFsLCBpbnRlcm5hbCk8L2Rp dj48ZGl2PitSRVRVUk5TIGJvb2w8L2Rpdj48ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2Fu eWFycmF5X2dpbl9jb25zaXN0ZW50X3V1aWQnPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBJTU1VVEFC TEUgU1RSSUNUIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIE9Q RVJBVE9SIENMQVNTIHV1aWRfYW55cXVlcnlfZ2luX29wczwvZGl2PjxkaXY+K0ZPUiBUWVBFIHV1 aWRbXSBVU0lORyBnaW48L2Rpdj48ZGl2PitBUzwvZGl2PjxkaXY+K8KgwqAgwqBPUEVSQVRPUsKg wqAgwqAxwqDCoCDCoCZhbXA7JmFtcDsgKGFueWFycmF5LCBhbnlhcnJheSksPC9kaXY+PGRpdj4r wqDCoCDCoE9QRVJBVE9SwqDCoCDCoDLCoMKgIMKgQCZndDsgKGFueWFycmF5LCBhbnlhcnJheSks PC9kaXY+PGRpdj4rwqDCoCDCoE9QRVJBVE9SwqDCoCDCoDPCoMKgIMKgJmx0O0AgKGFueWFycmF5 LCBhbnlhcnJheSksPC9kaXY+PGRpdj4rwqDCoCDCoE9QRVJBVE9SwqDCoCDCoDTCoMKgIMKgPSAo YW55YXJyYXksIGFueWFycmF5KSw8L2Rpdj48ZGl2PivCoMKgIMKgT1BFUkFUT1LCoMKgIMKgNcKg wqAgwqBAQCAoYW55YXJyYXksIGFueXF1ZXJ5KSw8L2Rpdj48ZGl2PivCoMKgIMKgRlVOQ1RJT07C oMKgIMKgMcKgwqAgwqB1dWlkX2NtcCh1dWlkLCB1dWlkKSw8L2Rpdj48ZGl2PivCoMKgIMKgRlVO Q1RJT07CoMKgIMKgMsKgwqAgwqBnaW5hcnJheWV4dHJhY3QoYW55YXJyYXksIGludGVybmFsLCBp bnRlcm5hbCksPC9kaXY+PGRpdj4rwqDCoCDCoEZVTkNUSU9OwqDCoCDCoDPCoMKgIMKgYW55YXJy YXlfZ2luX2V4dHJhY3RfcXVlcnlfdXVpZCh1dWlkW10sIGludGVybmFsLCBzbWFsbGludCwgaW50 ZXJuYWwsIGludGVybmFsLCBpbnRlcm5hbCwgaW50ZXJuYWwpLDwvZGl2PjxkaXY+K8KgwqAgwqBG VU5DVElPTsKgwqAgwqA0wqDCoCDCoGFueWFycmF5X2dpbl9jb25zaXN0ZW50X3V1aWQoaW50ZXJu YWwsIHNtYWxsaW50LCB1dWlkW10sIGludGVnZXIsIGludGVybmFsLCBpbnRlcm5hbCwgaW50ZXJu YWwsIGludGVybmFsKSw8L2Rpdj48ZGl2PivCoMKgIMKgU1RPUkFHRcKgwqAgwqDCoMKgIMKgdXVp ZDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfZ2luX2V4 dHJhY3RfcXVlcnlfdGV4dCg8L2Rpdj48ZGl2PivCoMKgIMKgdGV4dFtdLCBpbnRlcm5hbCwgc21h bGxpbnQsIGludGVybmFsLCBpbnRlcm5hbCwgaW50ZXJuYWwsIGludGVybmFsKTwvZGl2PjxkaXY+ K1JFVFVSTlMgaW50ZXJuYWw8L2Rpdj48ZGl2PitBUyAnTU9EVUxFX1BBVEhOQU1FJywgJ2FueWFy cmF5X2dpbl9leHRyYWN0X3F1ZXJ5X3RleHQnPC9kaXY+PGRpdj4rTEFOR1VBR0UgQyBJTU1VVEFC TEUgU1RSSUNUIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIEZV TkNUSU9OIGFueWFycmF5X2dpbl9jb25zaXN0ZW50X3RleHQoPC9kaXY+PGRpdj4rwqDCoCDCoGlu dGVybmFsLCBzbWFsbGludCwgdGV4dFtdLCBpbnRlZ2VyLCBpbnRlcm5hbCwgaW50ZXJuYWwsIGlu dGVybmFsLCBpbnRlcm5hbCk8L2Rpdj48ZGl2PitSRVRVUk5TIGJvb2w8L2Rpdj48ZGl2PitBUyAn TU9EVUxFX1BBVEhOQU1FJywgJ2FueWFycmF5X2dpbl9jb25zaXN0ZW50X3RleHQnPC9kaXY+PGRp dj4rTEFOR1VBR0UgQyBJTU1VVEFCTEUgU1RSSUNUIFBBUkFMTEVMIFNBRkU7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rQ1JFQVRFIE9QRVJBVE9SIENMQVNTIHRleHRfYW55cXVlcnlfZ2luX29wczwv ZGl2PjxkaXY+K0ZPUiBUWVBFIHRleHRbXSBVU0lORyBnaW48L2Rpdj48ZGl2PitBUzwvZGl2Pjxk aXY+K8KgwqAgwqBPUEVSQVRPUsKgwqAgwqAxwqDCoCDCoCZhbXA7JmFtcDsgKGFueWFycmF5LCBh bnlhcnJheSksPC9kaXY+PGRpdj4rwqDCoCDCoE9QRVJBVE9SwqDCoCDCoDLCoMKgIMKgQCZndDsg KGFueWFycmF5LCBhbnlhcnJheSksPC9kaXY+PGRpdj4rwqDCoCDCoE9QRVJBVE9SwqDCoCDCoDPC oMKgIMKgJmx0O0AgKGFueWFycmF5LCBhbnlhcnJheSksPC9kaXY+PGRpdj4rwqDCoCDCoE9QRVJB VE9SwqDCoCDCoDTCoMKgIMKgPSAoYW55YXJyYXksIGFueWFycmF5KSw8L2Rpdj48ZGl2PivCoMKg IMKgT1BFUkFUT1LCoMKgIMKgNcKgwqAgwqBAQCAoYW55YXJyYXksIGFueXF1ZXJ5KSw8L2Rpdj48 ZGl2PivCoMKgIMKgRlVOQ1RJT07CoMKgIMKgMcKgwqAgwqBidHRleHRjbXAodGV4dCwgdGV4dCks PC9kaXY+PGRpdj4rwqDCoCDCoEZVTkNUSU9OwqDCoCDCoDLCoMKgIMKgZ2luYXJyYXlleHRyYWN0 KGFueWFycmF5LCBpbnRlcm5hbCwgaW50ZXJuYWwpLDwvZGl2PjxkaXY+K8KgwqAgwqBGVU5DVElP TsKgwqAgwqAzwqDCoCDCoGFueWFycmF5X2dpbl9leHRyYWN0X3F1ZXJ5X3RleHQodGV4dFtdLCBp bnRlcm5hbCwgc21hbGxpbnQsIGludGVybmFsLCBpbnRlcm5hbCwgaW50ZXJuYWwsIGludGVybmFs KSw8L2Rpdj48ZGl2PivCoMKgIMKgRlVOQ1RJT07CoMKgIMKgNMKgwqAgwqBhbnlhcnJheV9naW5f Y29uc2lzdGVudF90ZXh0KGludGVybmFsLCBzbWFsbGludCwgdGV4dFtdLCBpbnRlZ2VyLCBpbnRl cm5hbCwgaW50ZXJuYWwsIGludGVybmFsLCBpbnRlcm5hbCksPC9kaXY+PGRpdj4rwqDCoCDCoFNU T1JBR0XCoMKgIMKgwqDCoCDCoHRleHQ7PC9kaXY+PGRpdj5kaWZmIC0tZ2l0IGEvY29udHJpYi9h bnlhcnJheS9hbnlhcnJheS5jIGIvY29udHJpYi9hbnlhcnJheS9hbnlhcnJheS5jPC9kaXY+PGRp dj5uZXcgZmlsZSBtb2RlIDEwMDY0NDwvZGl2PjxkaXY+aW5kZXggMDAwMDAwMDAwMDAuLjBhMmFi MjE1M2M4PC9kaXY+PGRpdj4tLS0gL2Rldi9udWxsPC9kaXY+PGRpdj4rKysgYi9jb250cmliL2Fu eWFycmF5L2FueWFycmF5LmM8L2Rpdj48ZGl2PkBAIC0wLDAgKzEsMTE2IEBAPC9kaXY+PGRpdj4r LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2PisgKiBhbnlhcnJheS5j PC9kaXY+PGRpdj4rICrCoMKgIMKgwqDCoCDCoENvbW1vbiBjb2RlIGZvciB0aGUgYW55YXJyYXkg ZXh0ZW5zaW9uLjwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogVGhpcyBleHRlbnNpb24gZXh0 ZW5kcyBQb3N0Z3JlU1FMIHdpdGggaW50YXJyYXktc3R5bGUgb3BlcmF0aW9ucyBhbmQ8L2Rpdj48 ZGl2PisgKiBpbmRleCBzdXBwb3J0IHRoYXQgd29yayBmb3IgYXJyYXlzIG9mIGFueSBlbGVtZW50 IHR5cGUgd2l0aCBhIGRlZmF1bHQ8L2Rpdj48ZGl2PisgKiBidHJlZSBvcGNsYXNzLiDCoEl0IGlz IGEgZ2VuZXJhbGl6YXRpb24gb2YgdGhlIGNvbnRyaWIvaW50YXJyYXkgbW9kdWxlLjwvZGl2Pjxk aXY+KyAqPC9kaXY+PGRpdj4rICogQ29weXJpZ2h0IChjKSAyMDI2LCBQb3N0Z3JlU1FMIEdsb2Jh bCBEZXZlbG9wbWVudCBHcm91cDwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogSURFTlRJRklD QVRJT048L2Rpdj48ZGl2PisgKsKgwqAgwqDCoMKgIMKgY29udHJpYi9hbnlhcnJheS9hbnlhcnJh eS5jPC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2PisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2 PisgKi88L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisjaW5jbHVkZSAicG9zdGdyZXMuaCI8L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2PisjaW5jbHVkZSAiYW55YXJyYXkuaCI8L2Rpdj48ZGl2PisjaW5jbHVk ZSAiY2F0YWxvZy9wZ190eXBlLmgiPC9kaXY+PGRpdj4rI2luY2x1ZGUgInV0aWxzL2J1aWx0aW5z LmgiPC9kaXY+PGRpdj4rI2luY2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIjwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+K1BHX01PRFVMRV9NQUdJQ19FWFQoPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqAubmFtZSA9ICJhbnlhcnJheSIsPC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAudmVyc2lvbiA9IFBHX1ZFUlNJT048L2Rpdj48 ZGl2PispOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICogYW55YXJyYXlf Z2V0X21ldGE8L2Rpdj48ZGl2PisgKsKgwqAgwqDCoMKgIMKgRmV0Y2ggKGFuZCBjYWNoZSkgdHlw ZSBtZXRhZGF0YSBmb3IgdGhlIGdpdmVuIGVsZW1lbnQgdHlwZS48L2Rpdj48ZGl2PisgKjwvZGl2 PjxkaXY+KyAqIFRoZSBjYWNoZSBsaXZlcyBpbiBmY2luZm8tJmd0O2ZsaW5mby0mZ3Q7Zm5fZXh0 cmEgc28gd2UgcGF5IHRoZSBjYXRhbG9nIGxvb2t1cDwvZGl2PjxkaXY+KyAqIGNvc3Qgb25seSBv bmNlIHBlciBjYWxsIHNpdGUuIMKgSWYgIm5lZWRfaGFzaCIgaXMgdHJ1ZSB0aGUgZWxlbWVudCB0 eXBlPC9kaXY+PGRpdj4rICogbXVzdCBhZGRpdGlvbmFsbHkgcHJvdmlkZSBhIGRlZmF1bHQgaGFz aCBmdW5jdGlvbjsgb3RoZXJ3aXNlIG9ubHkgYSBidHJlZTwvZGl2PjxkaXY+KyAqIGNvbXBhcmlz b24gZnVuY3Rpb24gaXMgcmVxdWlyZWQuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rQW55QXJy YXlUeXBlSW5mbyAqPC9kaXY+PGRpdj4rYW55YXJyYXlfZ2V0X21ldGEoRnVuY3Rpb25DYWxsSW5m byBmY2luZm8sIE9pZCBlbGVtZW50X3R5cGUsIGJvb2wgbmVlZF9oYXNoKTwvZGl2PjxkaXY+K3s8 IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBBbnlBcnJheVR5cGVJbmZvICptZXRhID0gKEFueUFy cmF5VHlwZUluZm8gKikgZmNpbmZvLSZndDtmbGluZm8tJmd0O2ZuX2V4dHJhOzwvZGl2PjxkaXY+ K8KgwqAgwqBUeXBlQ2FjaGVFbnRyeSAqdHlwZW50cnk7PC9kaXY+PGRpdj4rwqDCoCDCoHVpbnQz MsKgwqAgwqDCoMKgIMKgZmxhZ3M7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmICht ZXRhID09IE5VTEwpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgbWV0YSA9IChBbnlBcnJheVR5cGVJbmZvICopPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgTWVtb3J5Q29udGV4dEFsbG9jWmVybyhmY2luZm8tJmd0O2ZsaW5mby0mZ3Q7 Zm5fbWN4dCw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoCDCoCBzaXplb2YoQW55QXJyYXlUeXBlSW5mbykpOzwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgZmNpbmZvLSZndDtmbGluZm8tJmd0O2ZuX2V4dHJhID0gbWV0YTs8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoG1ldGEtJmd0O2VsZW1lbnRfdHlwZSA9IEludmFsaWRP aWQ7PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYg KG1ldGEtJmd0O2VsZW1lbnRfdHlwZSA9PSBlbGVtZW50X3R5cGUgJmFtcDsmYW1wOyAoIW5lZWRf aGFzaCB8fCBtZXRhLSZndDtoYXZlX2hhc2gpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcmV0 dXJuIG1ldGE7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGZsYWdzID0gVFlQRUNBQ0hF X0NNUF9QUk9DX0ZJTkZPIHwgVFlQRUNBQ0hFX0VRX09QUl9GSU5GTzs8L2Rpdj48ZGl2PivCoMKg IMKgaWYgKG5lZWRfaGFzaCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGZsYWdzIHw9IFRZUEVD QUNIRV9IQVNIX1BST0NfRklORk87PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoHR5cGVu dHJ5ID0gbG9va3VwX3R5cGVfY2FjaGUoZWxlbWVudF90eXBlLCBmbGFncyk7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rwqDCoCDCoGlmICghT2lkSXNWYWxpZCh0eXBlbnRyeS0mZ3Q7Y21wX3Byb2Nf ZmluZm8uZm5fb2lkKSk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVyZXBvcnQoRVJST1IsPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2RlKEVSUkNPREVfVU5E RUZJTkVEX0ZVTkNUSU9OKSw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg IGVycm1zZygiY291bGQgbm90IGlkZW50aWZ5IGEgY29tcGFyaXNvbiBmdW5jdGlvbiBmb3IgdHlw ZSAlcyIsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgZm9ybWF0X3R5cGVfYmUoZWxlbWVudF90eXBlKSkpKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PivCoMKgIMKgaWYgKCFPaWRJc1ZhbGlkKHR5cGVudHJ5LSZndDtlcV9vcHJfZmluZm8uZm5fb2lk KSk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVyZXBvcnQoRVJST1IsPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2RlKEVSUkNPREVfVU5ERUZJTkVEX0ZVTkNU SU9OKSw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIGVycm1zZygiY291 bGQgbm90IGlkZW50aWZ5IGFuIGVxdWFsaXR5IG9wZXJhdG9yIGZvciB0eXBlICVzIiw8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBmb3JtYXRfdHlw ZV9iZShlbGVtZW50X3R5cGUpKSkpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAo bmVlZF9oYXNoICZhbXA7JmFtcDsgIU9pZElzVmFsaWQodHlwZW50cnktJmd0O2hhc2hfcHJvY19m aW5mby5mbl9vaWQpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgZXJlcG9ydChFUlJPUiw8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgKGVycmNvZGUoRVJSQ09ERV9VTkRF RklORURfRlVOQ1RJT04pLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAg ZXJybXNnKCJjb3VsZCBub3QgaWRlbnRpZnkgYSBoYXNoIGZ1bmN0aW9uIGZvciB0eXBlICVzIiw8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBmb3Jt YXRfdHlwZV9iZShlbGVtZW50X3R5cGUpKSkpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAg wqBtZXRhLSZndDtlbGVtZW50X3R5cGUgPSBlbGVtZW50X3R5cGU7PC9kaXY+PGRpdj4rwqDCoCDC oGdldF90eXBsZW5ieXZhbGFsaWduKGVsZW1lbnRfdHlwZSwgJmFtcDttZXRhLSZndDt0eXBsZW4s ICZhbXA7bWV0YS0mZ3Q7dHlwYnl2YWwsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgICZhbXA7bWV0YS0mZ3Q7dHlwYWxpZ24pOzwvZGl2PjxkaXY+ K8KgwqAgwqBtZXRhLSZndDt0eXBjb2xsYXRpb24gPSB0eXBlbnRyeS0mZ3Q7dHlwY29sbGF0aW9u OzwvZGl2PjxkaXY+K8KgwqAgwqBmbWdyX2luZm9fY3h0KHR5cGVudHJ5LSZndDtjbXBfcHJvY19m aW5mby5mbl9vaWQsICZhbXA7bWV0YS0mZ3Q7Y21wX3Byb2MsPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoCDCoGZjaW5mby0mZ3Q7ZmxpbmZvLSZndDtmbl9tY3h0KTs8L2Rp dj48ZGl2PivCoMKgIMKgZm1ncl9pbmZvX2N4dCh0eXBlbnRyeS0mZ3Q7ZXFfb3ByX2ZpbmZvLmZu X29pZCwgJmFtcDttZXRhLSZndDtlcV9wcm9jLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDC oCDCoMKgwqAgwqAgwqBmY2luZm8tJmd0O2ZsaW5mby0mZ3Q7Zm5fbWN4dCk7PC9kaXY+PGRpdj4r wqDCoCDCoGlmIChuZWVkX2hhc2gpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgZm1ncl9pbmZvX2N4dCh0eXBlbnRyeS0mZ3Q7aGFzaF9wcm9jX2Zp bmZvLmZuX29pZCwgJmFtcDttZXRhLSZndDtoYXNoX3Byb2MsPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBmY2luZm8tJmd0O2ZsaW5mby0mZ3Q7Zm5fbWN4 dCk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBtZXRhLSZndDtoYXZlX2hhc2ggPSB0cnVlOzwv ZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoG1ldGEtJmd0O2hhdmVfaGFzaCA9IGZhbHNlOzwvZGl2PjxkaXY+KzwvZGl2Pjxk aXY+K8KgwqAgwqByZXR1cm4gbWV0YTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rLyo8L2Rpdj48ZGl2PisgKiBhbnlhcnJheV9jbXBfZGF0dW08L2Rpdj48ZGl2PisgKsKgwqAg wqDCoMKgIMKgcXNvcnRfYXJnLWNvbXBhdGlibGUgY29tcGFyYXRvciBkZWxlZ2F0aW5nIHRvIHRo ZSB0eXBlJ3MgYnRyZWUgY21wLjwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K2ludDwvZGl2Pjxk aXY+K2FueWFycmF5X2NtcF9kYXR1bShjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiLCB2b2lk ICphcmcpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5VHlw ZUluZm8gKm1ldGEgPSAoQW55QXJyYXlUeXBlSW5mbyAqKSBhcmc7PC9kaXY+PGRpdj4rwqDCoCDC oERhdHVtwqDCoCDCoMKgwqAgwqBkMSA9ICooKGNvbnN0IERhdHVtICopIGEpOzwvZGl2PjxkaXY+ K8KgwqAgwqBEYXR1bcKgwqAgwqDCoMKgIMKgZDIgPSAqKChjb25zdCBEYXR1bSAqKSBiKTs8L2Rp dj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKgwqDCoCDCoHJlc3VsdDs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PivCoMKgIMKgcmVzdWx0ID0gRnVuY3Rpb25DYWxsMkNvbGwoJmFtcDttZXRhLSZndDtj bXBfcHJvYywgbWV0YS0mZ3Q7dHlwY29sbGF0aW9uLCBkMSwgZDIpOzwvZGl2PjxkaXY+K8KgwqAg wqByZXR1cm4gRGF0dW1HZXRJbnQzMihyZXN1bHQpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2PmRp ZmYgLS1naXQgYS9jb250cmliL2FueWFycmF5L2FueWFycmF5LmNvbnRyb2wgYi9jb250cmliL2Fu eWFycmF5L2FueWFycmF5LmNvbnRyb2w8L2Rpdj48ZGl2Pm5ldyBmaWxlIG1vZGUgMTAwNjQ0PC9k aXY+PGRpdj5pbmRleCAwMDAwMDAwMDAwMC4uMjQ3OGYyZDkzZDc8L2Rpdj48ZGl2Pi0tLSAvZGV2 L251bGw8L2Rpdj48ZGl2PisrKyBiL2NvbnRyaWIvYW55YXJyYXkvYW55YXJyYXkuY29udHJvbDwv ZGl2PjxkaXY+QEAgLTAsMCArMSw2IEBAPC9kaXY+PGRpdj4rIyBhbnlhcnJheSBleHRlbnNpb248 L2Rpdj48ZGl2Pitjb21tZW50ID0gJ09wZXJhdGlvbnMgYW5kIGluZGV4ZXMgZm9yIGFycmF5cyBv ZiBhbnkgdHlwZSc8L2Rpdj48ZGl2PitkZWZhdWx0X3ZlcnNpb24gPSAnMS4wJzwvZGl2PjxkaXY+ K21vZHVsZV9wYXRobmFtZSA9ICckbGliZGlyL2FueWFycmF5JzwvZGl2PjxkaXY+K3JlbG9jYXRh YmxlID0gdHJ1ZTwvZGl2PjxkaXY+K3RydXN0ZWQgPSBmYWxzZTwvZGl2PjxkaXY+ZGlmZiAtLWdp dCBhL2NvbnRyaWIvYW55YXJyYXkvYW55YXJyYXkuaCBiL2NvbnRyaWIvYW55YXJyYXkvYW55YXJy YXkuaDwvZGl2PjxkaXY+bmV3IGZpbGUgbW9kZSAxMDA2NDQ8L2Rpdj48ZGl2PmluZGV4IDAwMDAw MDAwMDAwLi5mNTlhYzlkZTc0OTwvZGl2PjxkaXY+LS0tIC9kZXYvbnVsbDwvZGl2PjxkaXY+Kysr IGIvY29udHJpYi9hbnlhcnJheS9hbnlhcnJheS5oPC9kaXY+PGRpdj5AQCAtMCwwICsxLDE4NCBA QDwvZGl2PjxkaXY+Ky8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4r ICogYW55YXJyYXkuaDwvZGl2PjxkaXY+KyAqwqDCoCDCoMKgwqAgwqBTaGFyZWQgZGVjbGFyYXRp b25zIGZvciB0aGUgYW55YXJyYXkgZXh0ZW5zaW9uLjwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4r ICogQ29weXJpZ2h0IChjKSAyMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91 cDwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogSURFTlRJRklDQVRJT048L2Rpdj48ZGl2Pisg KsKgwqAgwqDCoMKgIMKgY29udHJpYi9hbnlhcnJheS9hbnlhcnJheS5oPC9kaXY+PGRpdj4rICo8 L2Rpdj48ZGl2PisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2Pisj aWZuZGVmIEFOWUFSUkFZX0g8L2Rpdj48ZGl2PisjZGVmaW5lIEFOWUFSUkFZX0g8L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PisjaW5jbHVkZSAiYWNjZXNzL2dpc3QuaCI8L2Rpdj48ZGl2PisjaW5jbHVk ZSAiZm1nci5oIjwvZGl2PjxkaXY+KyNpbmNsdWRlICJ1dGlscy9hcnJheS5oIjwvZGl2PjxkaXY+ KyNpbmNsdWRlICJ1dGlscy90eXBjYWNoZS5oIjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qPC9k aXY+PGRpdj4rICogUGVyLWNhbGwgY2FjaGVkIGVsZW1lbnQgdHlwZSBtZXRhZGF0YS48L2Rpdj48 ZGl2PisgKjwvZGl2PjxkaXY+KyAqIFN0b3JlZCBpbiBmY2luZm8tJmd0O2ZsaW5mby0mZ3Q7Zm5f ZXh0cmEgc28gd2UgbG9vayB1cCB0aGUgdHlwZSBvbmNlIHBlcjwvZGl2PjxkaXY+KyAqIHBsYW5u ZXItbGV2ZWwgY2FsbCBzaXRlLiDCoEFsbCBlbnRyaWVzIGFyZSBwb3B1bGF0ZWQgYnkgYW55YXJy YXlfZ2V0X21ldGEoKS48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2Pit0eXBlZGVmIHN0cnVjdCBB bnlBcnJheVR5cGVJbmZvPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoE9p ZMKgwqAgwqDCoMKgIMKgwqDCoCDCoGVsZW1lbnRfdHlwZTvCoMKgIMKgLyogZWxlbWVudCBPSUQs IG9yIEludmFsaWRPaWQgaWYgbm90PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgKiBpbml0aWFsaXplZCAqLzwvZGl2Pjxk aXY+K8KgwqAgwqBpbnQxNsKgwqAgwqDCoMKgIMKgdHlwbGVuOzwvZGl2PjxkaXY+K8KgwqAgwqBi b29swqDCoCDCoMKgwqAgwqB0eXBieXZhbDs8L2Rpdj48ZGl2PivCoMKgIMKgY2hhcsKgwqAgwqDC oMKgIMKgdHlwYWxpZ247PC9kaXY+PGRpdj4rwqDCoCDCoE9pZMKgwqAgwqDCoMKgIMKgwqDCoCDC oHR5cGNvbGxhdGlvbjvCoMKgIMKgLyogZGVmYXVsdCBjb2xsYXRpb24gZm9yIGNvbXBhcmlzb25z ICovPC9kaXY+PGRpdj4rwqDCoCDCoEZtZ3JJbmZvwqDCoCDCoGNtcF9wcm9jO8KgwqAgwqDCoMKg IMKgLyogYnRyZWUgY29tcGFyaXNvbiBmdW5jdGlvbiBmb3IgZWxlbWVudF90eXBlICovPC9kaXY+ PGRpdj4rwqDCoCDCoEZtZ3JJbmZvwqDCoCDCoGVxX3Byb2M7wqDCoCDCoMKgwqAgwqAvKiBlcXVh bGl0eSBmdW5jdGlvbiBmb3IgZWxlbWVudF90eXBlICovPC9kaXY+PGRpdj4rwqDCoCDCoEZtZ3JJ bmZvwqDCoCDCoGhhc2hfcHJvYzvCoMKgIMKgwqDCoCDCoC8qIGhhc2ggZnVuY3Rpb24gZm9yIGVs ZW1lbnRfdHlwZSAob3B0aW9uYWwpICovPC9kaXY+PGRpdj4rwqDCoCDCoGJvb2zCoMKgIMKgwqDC oCDCoGhhdmVfaGFzaDvCoMKgIMKgwqDCoCDCoC8qIHdoZXRoZXIgaGFzaF9wcm9jIHdhcyBmaWxs ZWQgaW4gKi88L2Rpdj48ZGl2Pit9IEFueUFycmF5VHlwZUluZm87PC9kaXY+PGRpdj4rPC9kaXY+ PGRpdj4rLyogUmVqZWN0IHRoZSBraW5kcyBvZiBpbnB1dCB3ZSBkbyBub3QgaGFuZGxlLiAqLzwv ZGl2PjxkaXY+KyNkZWZpbmUgQU5ZQVJSQVlfQ0hFQ0tfQVJSQVkoYXJyKSBcPC9kaXY+PGRpdj4r wqDCoCDCoGRvIHsgXDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKEFSUl9ORElNKGFycikg Jmd0OyAxKSBcPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgZXJlcG9ydChFUlJPUiwg XDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgKGVycmNvZGUo RVJSQ09ERV9GRUFUVVJFX05PVF9TVVBQT1JURUQpLCBcPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgZXJybXNnKCJtdWx0aWRpbWVuc2lvbmFsIGFycmF5cyBh cmUgbm90IHN1cHBvcnRlZCIpKSk7IFw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmIChBUlJf SEFTTlVMTChhcnIpICZhbXA7JmFtcDsgYXJyYXlfY29udGFpbnNfbnVsbHMoYXJyKSkgXDwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGVyZXBvcnQoRVJST1IsIFw8L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2RlKEVSUkNPREVfTlVMTF9W QUxVRV9OT1RfQUxMT1dFRCksIFw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoCBlcnJtc2coImFycmF5IG11c3Qgbm90IGNvbnRhaW4gbnVsbHMiKSkpOyBcPC9k aXY+PGRpdj4rwqDCoCDCoH0gd2hpbGUgKDApPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rI2RlZmlu ZSBBTllBUlJBWV9ORUxFTVMoYXJyKSBcPC9kaXY+PGRpdj4rwqDCoCDCoChBUlJfTkRJTShhcnIp ICZndDsgMCA/IEFycmF5R2V0Tkl0ZW1zKEFSUl9ORElNKGFyciksIEFSUl9ESU1TKGFycikpIDog MCk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIEluaXRpYWxpemUgLyBy ZWZyZXNoIEFueUFycmF5VHlwZUluZm8gZm9yIGEgZ2l2ZW4gZWxlbWVudCB0eXBlLjwvZGl2Pjxk aXY+KyAqPC9kaXY+PGRpdj4rICogQWxsb2NhdGVzIHRoZSBzdHJ1Y3QgaW4gZmNpbmZvLSZndDtm bGluZm8tJmd0O2ZuX21jeHQgb24gZmlyc3QgdXNlOyBvbiBzdWJzZXF1ZW50PC9kaXY+PGRpdj4r ICogY2FsbHMgcmV1c2VzIHRoZSBjYWNoZSB1bmxlc3MgdGhlIGVsZW1lbnQgdHlwZSBjaGFuZ2Vk LiDCoFJlcG9ydHMgYW4gZXJyb3I8L2Rpdj48ZGl2PisgKiB2aWEgZXJlcG9ydCgpIGlmIHRoZSBl bGVtZW50IHR5cGUgbGFja3MgYSBidHJlZSBjb21wYXJpc29uIG9wZXJhdG9yPC9kaXY+PGRpdj4r ICogKG5lZWRfaGFzaCA9PSB0cnVlIGFkZGl0aW9uYWxseSByZXF1aXJlcyBhIGhhc2ggZnVuY3Rp b24pLjwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K2V4dGVybiBBbnlBcnJheVR5cGVJbmZvICph bnlhcnJheV9nZXRfbWV0YShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbyw8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgIMKgIE9pZCBlbGVtZW50X3R5cGUsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCDC oCBib29sIG5lZWRfaGFzaCk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2Pisg KiBDb21wYXJpc29uIGhlbHBlciB1c2VkIGJvdGggYXMgYSBxc29ydF9hcmcgY2FsbGJhY2sgYW5k IGRpcmVjdGx5LjwvZGl2PjxkaXY+KyAqICJhcmciIG11c3QgYmUgYSB2YWxpZCBBbnlBcnJheVR5 cGVJbmZvICouPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rZXh0ZXJuIGludMKgwqAgwqBhbnlh cnJheV9jbXBfZGF0dW0oY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYiwgdm9pZCAqYXJnKTs8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKio8L2Rpdj48ZGl2Pisg KiDCoEJvb2xlYW4gcXVlcnkgdHlwZTwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogwqBBbiBh bnlxdWVyeSB2YWx1ZSBpcyBhIGJvb2xlYW4gZXhwcmVzc2lvbiBpbiBwb3N0Zml4IG5vdGF0aW9u IHdob3NlIGxlYXZlczwvZGl2PjxkaXY+KyAqIMKgYXJlIHRleHR1YWwgcmVwcmVzZW50YXRpb25z IG9mIHZhbHVlcy4gwqBUaGUgZWxlbWVudCB0eXBlIGlzIG5vdCBrbm93biBhdDwvZGl2PjxkaXY+ KyAqIMKgcGFyc2UgdGltZTsgaXQgaXMgc3VwcGxpZWQgYXQgQEAtdGltZSBieSB0aGUgYXJyYXkg b3BlcmFuZCwgYW5kIHRoZSB2YWx1ZTwvZGl2PjxkaXY+KyAqIMKgc3RyaW5ncyBhcmUgcGFyc2Vk IGxhemlseSB0aHJvdWdoIHRoZSBlbGVtZW50IHR5cGUncyB0ZXh0IGlucHV0IGZ1bmN0aW9uLjwv ZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogwqBPbi1kaXNrIGxheW91dDo8L2Rpdj48ZGl2Pisg KjwvZGl2PjxkaXY+KyAqIMKgIMKgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSs8L2Rp dj48ZGl2PisgKiDCoCDCoCB8IHZhcmxlbmEgaGVhZGVyIMKgIMKgIMKgIMKgIMKgIMKgIMKgfDwv ZGl2PjxkaXY+KyAqIMKgIMKgIHwgaW50MzIgwqBzaXplIMKgIMKgIMKgKG4gaXRlbXMpIMKgfDwv ZGl2PjxkaXY+KyAqIMKgIMKgIHwgaW50MzIgwqBzdHJfb2ZmIMKgIMKgIMKgIMKgIMKgIMKgIMKg fCDCoC0tIGJ5dGUgb2Zmc2V0IHRvIHN0cmluZyBoZWFwPC9kaXY+PGRpdj4rICogwqAgwqAgfCBp bnQzMiDCoHN0cl9sZW4gwqAgwqAgwqAgwqAgwqAgwqAgwqB8PC9kaXY+PGRpdj4rICogwqAgwqAg fCBBbnlRdWVyeUl0ZW0gaXRlbXNbc2l6ZV0gwqAgwqB8PC9kaXY+PGRpdj4rICogwqAgwqAgfCAm bHQ7cGFkZGluZyZndDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfDwvZGl2PjxkaXY+KyAq IMKgIMKgIHwgY2hhciDCoCBzdHJpbmdzW3N0cl9sZW5dIMKgIMKgIHwgwqAtLSBudWxsLXRlcm1p bmF0ZWQgdmFsdWUgc3RyaW5nczwvZGl2PjxkaXY+KyAqIMKgIMKgICstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSs8L2Rpdj48ZGl2PisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovPC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rLyogaXRlbS50eXBlIHZhbHVlcyAqLzwvZGl2PjxkaXY+KyNkZWZpbmUg QU5ZUV9WQUzCoMKgIMKgMTwvZGl2PjxkaXY+KyNkZWZpbmUgQU5ZUV9PUFLCoMKgIMKgMjwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+Ky8qIG9wZXJhdG9yIGNvZGVzIChhbHNvIHVzZWQgaW4gdGhlIGlu cHV0IGdyYW1tYXIpICovPC9kaXY+PGRpdj4rI2RlZmluZSBBTllRX0FORMKgwqAgwqAnJmFtcDsn PC9kaXY+PGRpdj4rI2RlZmluZSBBTllRX09SwqDCoCDCoMKgwqAgwqAnfCc8L2Rpdj48ZGl2Pisj ZGVmaW5lIEFOWVFfTk9UwqDCoCDCoCchJzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K3R5cGVkZWYg c3RydWN0IEFueVF1ZXJ5SXRlbTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAg wqBpbnQxNsKgwqAgwqDCoMKgIMKgdHlwZTvCoMKgIMKgwqDCoCDCoMKgwqAgwqAvKiBBTllRX1ZB TCBvciBBTllRX09QUiAqLzwvZGl2PjxkaXY+K8KgwqAgwqBpbnQxNsKgwqAgwqDCoMKgIMKgbGVm dDvCoMKgIMKgwqDCoCDCoMKgwqAgwqAvKiBvZmZzZXQgdG8gbGVmdC1vcGVyYW5kIGl0ZW0gKE9Q UiBvbmx5KSAqLzwvZGl2PjxkaXY+K8KgwqAgwqBpbnQzMsKgwqAgwqDCoMKgIMKgcGF5bG9hZDvC oMKgIMKgwqDCoCDCoC8qIFZBTDogb2Zmc2V0IGludG8gc3RyaW5nIGhlYXA7IE9QUjogb25lIG9m PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoMKgwqAgwqAgKiBBTllRX0FORC9PUi9OT1QgKi88L2Rpdj48ZGl2Pit9IEFueVF1ZXJ5SXRl bTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2Pit0eXBlZGVmIHN0cnVjdCBBbnlRdWVyeTwvZGl2Pjxk aXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBpbnQzMsKgwqAgwqDCoMKgIMKgdmxfbGVu XzvCoMKgIMKgwqDCoCDCoC8qIHZhcmxlbmEgaGVhZGVyIChkbyBub3QgdG91Y2ggZGlyZWN0bHkh KSAqLzwvZGl2PjxkaXY+K8KgwqAgwqBpbnQzMsKgwqAgwqDCoMKgIMKgc2l6ZTvCoMKgIMKgwqDC oCDCoMKgwqAgwqAvKiBudW1iZXIgb2YgaXRlbXMgKi88L2Rpdj48ZGl2PivCoMKgIMKgaW50MzLC oMKgIMKgwqDCoCDCoHN0cl9vZmY7wqDCoCDCoMKgwqAgwqAvKiBieXRlIG9mZnNldCB0byBzdHJp bmcgaGVhcCAqLzwvZGl2PjxkaXY+K8KgwqAgwqBpbnQzMsKgwqAgwqDCoMKgIMKgc3RyX2xlbjvC oMKgIMKgwqDCoCDCoC8qIGxlbmd0aCBvZiBzdHJpbmcgaGVhcCAqLzwvZGl2PjxkaXY+K8KgwqAg wqBBbnlRdWVyeUl0ZW0gaXRlbXNbRkxFWElCTEVfQVJSQVlfTUVNQkVSXTs8L2Rpdj48ZGl2PivC oMKgIMKgLyogZm9sbG93ZWQgYnkgbnVsbC10ZXJtaW5hdGVkIHZhbHVlIHN0cmluZ3MgKi88L2Rp dj48ZGl2Pit9IEFueVF1ZXJ5OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNkZWZpbmUgQU5ZUVVF UllfSERSU0laRcKgwqAgwqDCoMKgIMKgwqDCoCDCoG9mZnNldG9mKEFueVF1ZXJ5LCBpdGVtcyk8 L2Rpdj48ZGl2PisjZGVmaW5lIEFOWVFVRVJZX0lURU1TKHEpwqDCoCDCoMKgwqAgwqDCoMKgIMKg KChxKS0mZ3Q7aXRlbXMpPC9kaXY+PGRpdj4rI2RlZmluZSBBTllRVUVSWV9TVFJJTkcocSwgaXRl bSnCoMKgIMKgKChjb25zdCBjaGFyICopIChxKSArIChxKS0mZ3Q7c3RyX29mZiArIChpdGVtKS0m Z3Q7cGF5bG9hZCk8L2Rpdj48ZGl2PisjZGVmaW5lIEFOWVFVRVJZX01BWElURU1TIFw8L2Rpdj48 ZGl2PivCoMKgIMKgKChNYXhBbGxvY1NpemUgLSBBTllRVUVSWV9IRFJTSVpFKSAvIHNpemVvZihB bnlRdWVyeUl0ZW0pKTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNkZWZpbmUgRGF0dW1HZXRBbnlR dWVyeVAoWCnCoMKgIMKgwqDCoCDCoCgoQW55UXVlcnkgKikgUEdfREVUT0FTVF9EQVRVTShYKSk8 L2Rpdj48ZGl2PisjZGVmaW5lIFBHX0dFVEFSR19BTllRVUVSWV9QKG4pwqDCoCDCoMKgwqAgwqBE YXR1bUdldEFueVF1ZXJ5UChQR19HRVRBUkdfREFUVU0obikpPC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqPC9kaXY+PGRpdj4rICogwqBHaVNUIHNpZ25hdHVyZSBr ZXk8L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqIMKgRWFjaCBpbmRleGVkIGFycmF5IGlzIHN1 bW1hcml6ZWQgYXMgYSBmaXhlZC1zaXplIGJpdCB2ZWN0b3IgKCJzaWduYXR1cmUiKS48L2Rpdj48 ZGl2PisgKiDCoEVhY2ggZWxlbWVudCBjb250cmlidXRlcyBhIHNpbmdsZSBiaXQsIGNob3NlbiBh czwvZGl2PjxkaXY+KyAqIMKgIMKgIMKgaGFzaChlbGVtZW50KSBtb2QgKHNpZ2xlbiAqIDgpLjwv ZGl2PjxkaXY+KyAqIMKgSW50ZXJuYWwgbm9kZSBrZXlzIGFyZSBiaXR3aXNlIHVuaW9ucyBvZiB0 aGVpciBjaGlsZHJlbjsgdGhlIEFMTElTVFJVRTwvZGl2PjxkaXY+KyAqIMKgZmxhZyBzaG9ydC1j aXJjdWl0cyBzdG9yYWdlIHdoZW4gZXZlcnkgYml0IHdvdWxkIGJlIHNldC48L2Rpdj48ZGl2Pisg KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rI2RlZmluZSBBTllB UlJBWV9TSUdMRU5fREVGQVVMVMKgwqAgwqDCoMKgIMKgKDYzICogNCnCoMKgIMKgLyogMjUyIGJ5 dGVzIC0mZ3Q7IDIwMTYgYml0cyAqLzwvZGl2PjxkaXY+KyNkZWZpbmUgQU5ZQVJSQVlfU0lHTEVO X01BWMKgwqAgwqDCoMKgIMKgwqDCoCDCoEdJU1RNYXhJbmRleEtleVNpemU8L2Rpdj48ZGl2Pisj ZGVmaW5lIEFOWUFSUkFZX0FMTElTVFJVRcKgwqAgwqDCoMKgIMKgwqDCoCDCoDB4MDE8L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2Pit0eXBlZGVmIHN0cnVjdCBBbnlBcnJheUdpc3RLZXk8L2Rpdj48ZGl2 Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgaW50MzLCoMKgIMKgwqDCoCDCoHZsX2xlbl87 wqDCoCDCoMKgwqAgwqAvKiB2YXJsZW5hIGhlYWRlciAoZG8gbm90IHRvdWNoIGRpcmVjdGx5ISkg Ki88L2Rpdj48ZGl2PivCoMKgIMKgaW50MzLCoMKgIMKgwqDCoCDCoGZsYWc7PC9kaXY+PGRpdj4r wqDCoCDCoGNoYXLCoMKgIMKgwqDCoCDCoGRhdGFbRkxFWElCTEVfQVJSQVlfTUVNQkVSXTvCoMKg IMKgLyogYml0IHZlY3Rvciwgc2lnbGVuIGJ5dGVzICovPC9kaXY+PGRpdj4rfSBBbnlBcnJheUdp c3RLZXk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rdHlwZWRlZiBzdHJ1Y3QgQW55QXJyYXlHaXN0 T3B0aW9uczwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBpbnQzMsKgwqAg wqDCoMKgIMKgdmxfbGVuXzs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKg IMKgc2lnbGVuO8KgwqAgwqDCoMKgIMKgwqDCoCDCoC8qIHNpZ25hdHVyZSBsZW5ndGggaW4gYnl0 ZXMgKi88L2Rpdj48ZGl2Pit9IEFueUFycmF5R2lzdE9wdGlvbnM7PC9kaXY+PGRpdj4rPC9kaXY+ PGRpdj4rI2RlZmluZSBBTllBUlJBWV9HRVRfU0lHTEVOKCnCoMKgIMKgwqDCoCDCoChQR19IQVNf T1BDTEFTU19PUFRJT05TKCkgPyBcPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgICgoQW55QXJyYXlHaXN0T3B0 aW9ucyAqKSBQR19HRVRfT1BDTEFTU19PUFRJT05TKCkpLSZndDtzaWdsZW4gOiBcPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgIEFOWUFSUkFZX1NJR0xFTl9ERUZBVUxUKTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ KyNkZWZpbmUgQU5ZQVJSQVlfR0tFWV9IRFLCoMKgIMKgwqDCoCDCoMKgwqAgwqAoVkFSSERSU1og KyBzaXplb2YoaW50MzIpKTwvZGl2PjxkaXY+KyNkZWZpbmUgQU5ZQVJSQVlfR0tFWV9TSVpFKGZs YWcsIHNpZ2xlbikgXDwvZGl2PjxkaXY+K8KgwqAgwqAoQU5ZQVJSQVlfR0tFWV9IRFIgKyAoKChm bGFnKSAmYW1wOyBBTllBUlJBWV9BTExJU1RSVUUpID8gMCA6IChzaWdsZW4pKSk8L2Rpdj48ZGl2 PisjZGVmaW5lIEFOWUFSUkFZX0dLRVlfSVNBTExUUlVFKGspwqDCoCDCoCgoKEFueUFycmF5R2lz dEtleSAqKSAoaykpLSZndDtmbGFnICZhbXA7IEFOWUFSUkFZX0FMTElTVFJVRSk8L2Rpdj48ZGl2 PisjZGVmaW5lIEFOWUFSUkFZX0dLRVlfU0lHTihrKcKgwqAgwqDCoMKgIMKgKCh1bnNpZ25lZCBj aGFyICopICgoKEFueUFycmF5R2lzdEtleSAqKSAoaykpLSZndDtkYXRhKSk8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PisvKiBHSU4gc3RyYXRlZ3kgbnVtYmVyczsgdGhlIGZpcnN0IGZvdXIgbWF0Y2gg Y29yZSdzIGdpbi9hcnJheV9vcHMgKi88L2Rpdj48ZGl2PisjZGVmaW5lIEFOWUFSUkFZX0dJTl9P VkVSTEFQX1NUUkFURUdZwqDCoCDCoDE8L2Rpdj48ZGl2PisjZGVmaW5lIEFOWUFSUkFZX0dJTl9D T05UQUlOU19TVFJBVEVHWcKgwqAgwqAyPC9kaXY+PGRpdj4rI2RlZmluZSBBTllBUlJBWV9HSU5f Q09OVEFJTkVEX1NUUkFURUdZwqDCoCDCoDM8L2Rpdj48ZGl2PisjZGVmaW5lIEFOWUFSUkFZX0dJ Tl9FUVVBTF9TVFJBVEVHWcKgwqAgwqDCoMKgIMKgNDwvZGl2PjxkaXY+KyNkZWZpbmUgQU5ZQVJS QVlfR0lOX0JPT0xFQU5fU1RSQVRFR1nCoMKgIMKgNTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNk ZWZpbmUgQU5ZQVJSQVlfSEFTSFZBTChoLCBzaWdsZW4pwqDCoCDCoCgodW5zaWduZWQgaW50KSAo aCkgJSAoKHNpZ2xlbikgKiBCSVRTX1BFUl9CWVRFKSk8L2Rpdj48ZGl2PisjZGVmaW5lIEFOWUFS UkFZX1NFVEJJVChzaWcsIGgsIHNpZ2xlbikgXDwvZGl2PjxkaXY+K8KgwqAgwqAoKHNpZylbKEFO WUFSUkFZX0hBU0hWQUwoKGgpLCAoc2lnbGVuKSkgLyBCSVRTX1BFUl9CWVRFKV0gfD0gXDwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgKDEgJmx0OyZsdDsgKEFOWUFSUkFZX0hBU0hWQUwoKGgpLCAo c2lnbGVuKSkgJSBCSVRTX1BFUl9CWVRFKSkpPC9kaXY+PGRpdj4rI2RlZmluZSBBTllBUlJBWV9H RVRCSVQoc2lnLCBoLCBzaWdsZW4pIFw8L2Rpdj48ZGl2PivCoMKgIMKgKCgoc2lnKVsoQU5ZQVJS QVlfSEFTSFZBTCgoaCksIChzaWdsZW4pKSAvIEJJVFNfUEVSX0JZVEUpXSAmZ3Q7Jmd0OyBcPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqAoQU5ZQVJSQVlfSEFTSFZBTCgoaCksIChzaWdsZW4pKSAl IEJJVFNfUEVSX0JZVEUpKSAmYW1wOyAxKTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNlbmRpZsKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAvKiBBTllBUlJB WV9IICovPC9kaXY+PGRpdj5kaWZmIC0tZ2l0IGEvY29udHJpYi9hbnlhcnJheS9hbnlhcnJheV9i b29sLmMgYi9jb250cmliL2FueWFycmF5L2FueWFycmF5X2Jvb2wuYzwvZGl2PjxkaXY+bmV3IGZp bGUgbW9kZSAxMDA2NDQ8L2Rpdj48ZGl2PmluZGV4IDAwMDAwMDAwMDAwLi4zMjU2MTk4MzdlZjwv ZGl2PjxkaXY+LS0tIC9kZXYvbnVsbDwvZGl2PjxkaXY+KysrIGIvY29udHJpYi9hbnlhcnJheS9h bnlhcnJheV9ib29sLmM8L2Rpdj48ZGl2PkBAIC0wLDAgKzEsNjY0IEBAPC9kaXY+PGRpdj4rLyot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2PisgKiBhbnlhcnJheV9ib29s LmM8L2Rpdj48ZGl2PisgKsKgwqAgwqDCoMKgIMKgQm9vbGVhbiBxdWVyeSB0eXBlIGZvciBhbnlh cnJheS48L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqIFByb3ZpZGVzIHRoZSBhbnlxdWVyeSB0 eXBlIGFuZCB0aGUgQEAgb3BlcmF0b3IuIMKgQSBxdWVyeSB2YWx1ZSBpcyBhPC9kaXY+PGRpdj4r ICogYm9vbGVhbiBleHByZXNzaW9uIHdob3NlIGxlYXZlcyBhcmUgdGV4dCB0b2tlbnM7IHRoZSBl bGVtZW50IHR5cGUgaXM8L2Rpdj48ZGl2PisgKiBzdXBwbGllZCBhdCBAQC10aW1lIGJ5IHRoZSBh cnJheSBvcGVyYW5kLCBhbmQgdGhlIGxlYXZlcyBhcmUgcGFyc2VkPC9kaXY+PGRpdj4rICogdGhy b3VnaCB0aGUgZWxlbWVudCB0eXBlJ3MgdGV4dCBpbnB1dCBmdW5jdGlvbi48L2Rpdj48ZGl2Pisg KjwvZGl2PjxkaXY+KyAqIEdyYW1tYXI6PC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2PisgKsKgwqAg wqAgwqBleHByIMKgIMKgIMKgIMKgOjo9IG9yX2V4cHI8L2Rpdj48ZGl2PisgKsKgwqAgwqAgwqBv cl9leHByIMKgIMKgIDo6PSBhbmRfZXhwciAoICd8JyBhbmRfZXhwciApKjwvZGl2PjxkaXY+KyAq wqDCoCDCoCDCoGFuZF9leHByIMKgIMKgOjo9IHVuYXJ5X2V4cHIgKCAnJmFtcDsnIHVuYXJ5X2V4 cHIgKSo8L2Rpdj48ZGl2PisgKsKgwqAgwqAgwqB1bmFyeV9leHByIMKgOjo9ICchJyB1bmFyeV9l eHByIHwgYXRvbTwvZGl2PjxkaXY+KyAqwqDCoCDCoCDCoGF0b20gwqAgwqAgwqAgwqA6Oj0gVkFM VUUgfCAnKCcgZXhwciAnKSc8L2Rpdj48ZGl2PisgKsKgwqAgwqAgwqBWQUxVRSDCoCDCoCDCoCA6 Oj0gYmFyZV90b2tlbiB8IHF1b3RlZF9zdHJpbmc8L2Rpdj48ZGl2PisgKsKgwqAgwqAgwqBiYXJl X3Rva2VuIMKgOjo9IGFueSBydW4gb2YgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgd2hpdGVzcGFj ZSw8L2Rpdj48ZGl2PisgKsKgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAnJmFtcDsn LCAnfCcsICchJywgJygnLCAnKScsIG9yICciJzwvZGl2PjxkaXY+KyAqwqDCoCDCoCDCoHF1b3Rl ZF9zdHJpbmcgOj0gJyInIGNoYXJzLXdpdGgtYmFja3NsYXNoLWVzY2FwZXMgJyInPC9kaXY+PGRp dj4rICo8L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqIENvcHlyaWdodCAoYykgMjAyNiwgUG9z dGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXA8L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+ KyAqIElERU5USUZJQ0FUSU9OPC9kaXY+PGRpdj4rICrCoMKgIMKgwqDCoCDCoGNvbnRyaWIvYW55 YXJyYXkvYW55YXJyYXlfYm9vbC5jPC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2PisgKi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS08L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisjaW5jbHVkZSAi cG9zdGdyZXMuaCI8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisjaW5jbHVkZSAiYW55YXJyYXkuaCI8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisjaW5jbHVkZSAibGliL3N0cmluZ2luZm8uaCI8L2Rpdj48 ZGl2PisjaW5jbHVkZSAibWlzY2FkbWluLmgiPC9kaXY+PGRpdj4rI2luY2x1ZGUgIm5vZGVzL21p c2Nub2Rlcy5oIjwvZGl2PjxkaXY+KyNpbmNsdWRlICJ1dGlscy9hcnJheS5oIjwvZGl2PjxkaXY+ KyNpbmNsdWRlICJ1dGlscy9idWlsdGlucy5oIjwvZGl2PjxkaXY+KyNpbmNsdWRlICJ1dGlscy9s c3lzY2FjaGUuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAidXRpbHMvbWVtdXRpbHMuaCI8L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueXF1ZXJ5X2luKTs8L2Rpdj48 ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueXF1ZXJ5X291dCk7PC9kaXY+PGRpdj4rUEdfRlVO Q1RJT05fSU5GT19WMShhbnlhcnJheV9ib29sb3ApOzwvZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lO Rk9fVjEoYW55cXVlcnlfYm9vbG9wX3Jldik7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19W MShhbnlxdWVyeV9xdWVyeXRyZWUpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqIMKgUGFyc2VyPC9kaXY+PGRpdj4rICog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8 L2Rpdj48ZGl2PisgKiBXb3JraW5nIHN0YXRlIHVzZWQgd2hpbGUgYnVpbGRpbmcgdGhlIHBvc3Rm aXggaXRlbSBsaXN0LjwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogSXRlbXMgYXJlIGVtaXR0 ZWQgaW4gcG9zdGZpeCAocmV2ZXJzZSBwb2xpc2gpIG9yZGVyIGRpcmVjdGx5IGludG8gdGhlPC9k aXY+PGRpdj4rICogIml0ZW1zIiBhcnJheS4gwqBWYWx1ZSBzdHJpbmdzIGFyZSBjb25jYXRlbmF0 ZWQgaW50byAic3RycyI7IGVhY2ggVkFMIGl0ZW08L2Rpdj48ZGl2PisgKiBzdG9yZXMgdGhlIGJ5 dGUgb2Zmc2V0IG9mIGl0cyBzdHJpbmcgd2l0aGluIHN0cnMtJmd0O2RhdGEuPC9kaXY+PGRpdj4r ICovPC9kaXY+PGRpdj4rdHlwZWRlZiBzdHJ1Y3QgUGFyc2VyU3RhdGU8L2Rpdj48ZGl2Pit7PCEt LSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgY29uc3QgY2hhciAqY3VyOzwvZGl2PjxkaXY+K8KgwqAg wqBjb25zdCBjaGFyICplbmQ7PC9kaXY+PGRpdj4rwqDCoCDCoEFueVF1ZXJ5SXRlbSAqaXRlbXM7 PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG5pdGVtczs8L2Rpdj48 ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgY2FwaXRlbXM7PC9kaXY+PGRpdj4r wqDCoCDCoFN0cmluZ0luZm9EYXRhIHN0cnM7PC9kaXY+PGRpdj4rwqDCoCDCoHN0cnVjdCBOb2Rl ICplc2NvbnRleHQ7PC9kaXY+PGRpdj4rfSBQYXJzZXJTdGF0ZTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PisjZGVmaW5lIFBBUlNFX0ZBSUwoc3RhdGUsIGVycmMsIC4uLikgXDwvZGl2PjxkaXY+K8Kg wqAgwqBkbyB7IFw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVycnNhdmUoKHN0YXRlKS0mZ3Q7 ZXNjb250ZXh0LCBcPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJj b2RlKGVycmMpLCBcPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCBfX1ZB X0FSR1NfXykpOyBcPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gZmFsc2U7IFw8L2Rp dj48ZGl2PivCoMKgIMKgfSB3aGlsZSAoMCk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitzdGF0aWMg Ym9vbCBwYXJzZV9leHByKFBhcnNlclN0YXRlICpzdGF0ZSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rc3RhdGljIHZvaWQ8L2Rpdj48ZGl2Pitza2lwX3dzKFBhcnNlclN0YXRlICpzdGF0ZSk8L2Rp dj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgd2hpbGUgKHN0YXRlLSZndDtjdXIg Jmx0OyBzdGF0ZS0mZ3Q7ZW5kICZhbXA7JmFtcDs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoCDC oCAoKnN0YXRlLSZndDtjdXIgPT0gJyAnIHx8ICpzdGF0ZS0mZ3Q7Y3VyID09ICdcdCcgfHw8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAqc3RhdGUtJmd0O2N1ciA9PSAnXHInIHx8ICpz dGF0ZS0mZ3Q7Y3VyID09ICdcbicgfHw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAq c3RhdGUtJmd0O2N1ciA9PSAnXHYnIHx8ICpzdGF0ZS0mZ3Q7Y3VyID09ICdcZicpKTwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgc3RhdGUtJmd0O2N1cisrOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PitzdGF0aWMgYm9vbDwvZGl2PjxkaXY+K2lzX3ZhbHVlX2NoYXIoY2hhciBj KTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoYyA9PSAnXDAnIHx8 IGMgPT0gJyAnIHx8IGMgPT0gJ1x0JyB8fCBjID09ICdccicgfHwgYyA9PSAnXG4nIHx8PC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqBjID09ICdcdicgfHwgYyA9PSAnXGYnKTwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgcmV0dXJuIGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoYyA9PSAnJmFt cDsnIHx8IGMgPT0gJ3wnIHx8IGMgPT0gJyEnIHx8IGMgPT0gJygnIHx8IGMgPT0gJyknIHx8IGMg PT0gJyInKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcmV0dXJuIGZhbHNlOzwvZGl2PjxkaXY+ K8KgwqAgwqByZXR1cm4gdHJ1ZTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r c3RhdGljIGJvb2w8L2Rpdj48ZGl2PitlbWl0X2l0ZW0oUGFyc2VyU3RhdGUgKnN0YXRlLCBpbnQx NiB0eXBlLCBpbnQzMiBwYXlsb2FkKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8Kg wqAgwqBpZiAoc3RhdGUtJmd0O25pdGVtcyA9PSBzdGF0ZS0mZ3Q7Y2FwaXRlbXMpPC9kaXY+PGRp dj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKChzaXplX3Qp IHN0YXRlLSZndDtjYXBpdGVtcyAqIDIgJmd0OyBBTllRVUVSWV9NQVhJVEVNUyk8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBQQVJTRV9GQUlMKHN0YXRlLCBFUlJDT0RFX1BST0dSQU1f TElNSVRfRVhDRUVERUQsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqAgwqAgZXJybXNnKCJhbnlxdWVyeSBleHByZXNzaW9uIGlzIHRvbyBjb21wbGV4IikpOzwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgc3RhdGUtJmd0O2NhcGl0ZW1zICo9IDI7PC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqBzdGF0ZS0mZ3Q7aXRlbXMgPSAoQW55UXVlcnlJdGVtICopIHJlcGFs bG9jKHN0YXRlLSZndDtpdGVtcyw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqAgc2l6ZW9mKEFueVF1ZXJ5SXRlbSkgKjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoCBzdGF0ZS0mZ3Q7Y2FwaXRlbXMpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRp dj4rwqDCoCDCoHN0YXRlLSZndDtpdGVtc1tzdGF0ZS0mZ3Q7bml0ZW1zXS50eXBlID0gdHlwZTs8 L2Rpdj48ZGl2PivCoMKgIMKgc3RhdGUtJmd0O2l0ZW1zW3N0YXRlLSZndDtuaXRlbXNdLmxlZnQg PSAwOzwvZGl2PjxkaXY+K8KgwqAgwqBzdGF0ZS0mZ3Q7aXRlbXNbc3RhdGUtJmd0O25pdGVtc10u cGF5bG9hZCA9IHBheWxvYWQ7PC9kaXY+PGRpdj4rwqDCoCDCoHN0YXRlLSZndDtuaXRlbXMrKzs8 L2Rpdj48ZGl2PivCoMKgIMKgcmV0dXJuIHRydWU7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICogQ29uc3VtZSBhIHZhbHVlIHRva2VuLCBhcHBlbmQg aXRzIHN0cmluZyAod2l0aCB0ZXJtaW5hdGluZyBOVUwpIHRvPC9kaXY+PGRpdj4rICogc3RhdGUt Jmd0O3N0cnMsIGFuZCBlbWl0IGEgVkFMIGl0ZW0gd2hvc2UgcGF5bG9hZCBpcyB0aGUgYnl0ZSBv ZmZzZXQgb2YgdGhlPC9kaXY+PGRpdj4rICogc3RyaW5nIHdpdGhpbiBzdHJzLSZndDtkYXRhLjwv ZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K3N0YXRpYyBib29sPC9kaXY+PGRpdj4rcGFyc2VfdmFs dWUoUGFyc2VyU3RhdGUgKnN0YXRlKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8Kg wqAgwqBpbnQzMsKgwqAgwqDCoMKgIMKgb2ZmOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAg wqBza2lwX3dzKHN0YXRlKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKHN0YXRl LSZndDtjdXIgJmd0Oz0gc3RhdGUtJmd0O2VuZCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoFBB UlNFX0ZBSUwoc3RhdGUsIEVSUkNPREVfU1lOVEFYX0VSUk9SLDwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgZXJybXNnKCJ1bmV4cGVjdGVkIGVuZCBvZiBpbnB1dCBp biBhbnlxdWVyeSIpKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgb2ZmID0gc3RhdGUt Jmd0O3N0cnMubGVuOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoKnN0YXRlLSZn dDtjdXIgPT0gJyInKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoHN0YXRlLSZndDtjdXIrKzvCoMKgIMKgwqDCoCDCoMKgwqAgwqAvKiBvcGVuaW5n IHF1b3RlICovPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB3aGlsZSAoc3RhdGUtJmd0O2N1ciAm bHQ7IHN0YXRlLSZndDtlbmQgJmFtcDsmYW1wOyAqc3RhdGUtJmd0O2N1ciAhPSAnIicpPC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqBpZiAoKnN0YXRlLSZndDtjdXIgPT0gJ1xcJyAmYW1wOyZhbXA7IHN0YXRlLSZndDtjdXIg KyAxICZsdDsgc3RhdGUtJmd0O2VuZCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDC oMKgIMKgc3RhdGUtJmd0O2N1cisrOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGFw cGVuZFN0cmluZ0luZm9DaGFyKCZhbXA7c3RhdGUtJmd0O3N0cnMsICpzdGF0ZS0mZ3Q7Y3VyKTs8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBzdGF0ZS0mZ3Q7Y3VyKys7PC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoc3RhdGUtJmd0 O2N1ciAmZ3Q7PSBzdGF0ZS0mZ3Q7ZW5kKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDC oFBBUlNFX0ZBSUwoc3RhdGUsIEVSUkNPREVfU1lOVEFYX0VSUk9SLDwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgIGVycm1zZygidW50ZXJtaW5hdGVkIHF1 b3RlZCB2YWx1ZSBpbiBhbnlxdWVyeSIpKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHN0YXRl LSZndDtjdXIrKzvCoMKgIMKgwqDCoCDCoMKgwqAgwqAvKiBjbG9zaW5nIHF1b3RlICovPC9kaXY+ PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgZWxzZSBpZiAoaXNfdmFsdWVfY2hhcigq c3RhdGUtJmd0O2N1cikpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgd2hpbGUgKHN0YXRlLSZndDtjdXIgJmx0OyBzdGF0ZS0mZ3Q7ZW5kICZhbXA7 JmFtcDsgaXNfdmFsdWVfY2hhcigqc3RhdGUtJmd0O2N1cikpPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBhcHBlbmRTdHJp bmdJbmZvQ2hhcigmYW1wO3N0YXRlLSZndDtzdHJzLCAqc3RhdGUtJmd0O2N1cik7PC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgc3RhdGUtJmd0O2N1cisrOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoFBBUlNFX0ZBSUwoc3RhdGUsIEVSUkNPREVfU1lOVEFYX0VS Uk9SLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgZXJybXNnKCJl eHBlY3RlZCB2YWx1ZSBhdCBjaGFyYWN0ZXIgXCIlY1wiIiwgKnN0YXRlLSZndDtjdXIpKTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgYXBwZW5kU3RyaW5nSW5mb0NoYXIoJmFtcDtzdGF0 ZS0mZ3Q7c3RycywgJ1wwJyk7PC9kaXY+PGRpdj4rwqDCoCDCoHJldHVybiBlbWl0X2l0ZW0oc3Rh dGUsIEFOWVFfVkFMLCBvZmYpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2Pitz dGF0aWMgYm9vbDwvZGl2PjxkaXY+K3BhcnNlX2F0b20oUGFyc2VyU3RhdGUgKnN0YXRlKTwvZGl2 PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBza2lwX3dzKHN0YXRlKTs8L2Rpdj48 ZGl2PivCoMKgIMKgaWYgKHN0YXRlLSZndDtjdXIgJmx0OyBzdGF0ZS0mZ3Q7ZW5kICZhbXA7JmFt cDsgKnN0YXRlLSZndDtjdXIgPT0gJygnKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoHN0YXRlLSZndDtjdXIrKzs8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoGlmICghcGFyc2VfZXhwcihzdGF0ZSkpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDC oMKgIMKgcmV0dXJuIGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgc2tpcF93cyhzdGF0 ZSk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoc3RhdGUtJmd0O2N1ciAmZ3Q7PSBzdGF0 ZS0mZ3Q7ZW5kIHx8ICpzdGF0ZS0mZ3Q7Y3VyICE9ICcpJyk8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoMKgwqAgwqBQQVJTRV9GQUlMKHN0YXRlLCBFUlJDT0RFX1NZTlRBWF9FUlJPUiw8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoCBlcnJtc2coIm1pc3Np bmcgY2xvc2luZyBwYXJlbnRoZXNpcyBpbiBhbnlxdWVyeSIpKTs8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoHN0YXRlLSZndDtjdXIrKzs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiB0 cnVlOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoHJldHVybiBwYXJzZV92 YWx1ZShzdGF0ZSk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K3N0YXRpYyBi b29sPC9kaXY+PGRpdj4rcGFyc2Vfbm90KFBhcnNlclN0YXRlICpzdGF0ZSk8L2Rpdj48ZGl2Pit7 PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgc2tpcF93cyhzdGF0ZSk7PC9kaXY+PGRpdj4rwqDC oCDCoGlmIChzdGF0ZS0mZ3Q7Y3VyICZsdDsgc3RhdGUtJmd0O2VuZCAmYW1wOyZhbXA7ICpzdGF0 ZS0mZ3Q7Y3VyID09ICchJyk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqBzdGF0ZS0mZ3Q7Y3VyKys7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBp ZiAoIXBhcnNlX25vdChzdGF0ZSkpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmV0 dXJuIGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcmV0dXJuIGVtaXRfaXRlbShzdGF0 ZSwgQU5ZUV9PUFIsIEFOWVFfTk9UKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8Kg wqAgwqByZXR1cm4gcGFyc2VfYXRvbShzdGF0ZSk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+K3N0YXRpYyBib29sPC9kaXY+PGRpdj4rcGFyc2VfYW5kKFBhcnNlclN0YXRlICpz dGF0ZSk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgaWYgKCFwYXJzZV9u b3Qoc3RhdGUpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcmV0dXJuIGZhbHNlOzwvZGl2Pjxk aXY+K8KgwqAgwqBmb3IgKDs7KTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoHNraXBfd3Moc3RhdGUpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg aWYgKHN0YXRlLSZndDtjdXIgJmd0Oz0gc3RhdGUtJmd0O2VuZCB8fCAqc3RhdGUtJmd0O2N1ciAh PSAnJmFtcDsnKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoHJldHVybiB0cnVlOzwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgc3RhdGUtJmd0O2N1cisrOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgaWYgKCFwYXJzZV9ub3Qoc3RhdGUpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoHJldHVybiBmYWxzZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmICghZW1pdF9p dGVtKHN0YXRlLCBBTllRX09QUiwgQU5ZUV9BTkQpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoHJldHVybiBmYWxzZTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K308L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PitzdGF0aWMgYm9vbDwvZGl2PjxkaXY+K3BhcnNlX2V4cHIoUGFy c2VyU3RhdGUgKnN0YXRlKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBj aGVja19zdGFja19kZXB0aCgpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoIXBh cnNlX2FuZChzdGF0ZSkpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gZmFsc2U7PC9k aXY+PGRpdj4rwqDCoCDCoGZvciAoOzspPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgc2tpcF93cyhzdGF0ZSk7PC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqBpZiAoc3RhdGUtJmd0O2N1ciAmZ3Q7PSBzdGF0ZS0mZ3Q7ZW5kIHx8ICpzdGF0ZS0mZ3Q7 Y3VyICE9ICd8Jyk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqByZXR1cm4gdHJ1ZTs8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHN0YXRlLSZndDtjdXIrKzs8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoGlmICghcGFyc2VfYW5kKHN0YXRlKSk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqByZXR1cm4gZmFsc2U7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoIWVtaXRf aXRlbShzdGF0ZSwgQU5ZUV9PUFIsIEFOWVFfT1IpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoHJldHVybiBmYWxzZTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K308L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIENvbXB1dGUgdGhlICJsZWZ0IiBm aWVsZCBmb3IgZXZlcnkgT1BSIGl0ZW0gYnkgd2Fsa2luZyB0aGUgcG9zdGZpeCBhcnJheTwvZGl2 PjxkaXY+KyAqIHRvcC1kb3duLiDCoFJldHVybnMgZmFsc2Ugb24gb3ZlcmZsb3cgb2YgdGhlIGlu dDE2IGxlZnQgZmllbGQuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rc3RhdGljIGJvb2w8L2Rp dj48ZGl2Pitjb21wdXRlX2xlZnRzKFBhcnNlclN0YXRlICpzdGF0ZSwgaW50ICpwb3MpPC9kaXY+ PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDC oG15cG9zOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBjaGVja19zdGFja19kZXB0aCgp OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBteXBvcyA9ICgqcG9zKS0tOzwvZGl2Pjxk aXY+K8KgwqAgwqBBc3NlcnQobXlwb3MgJmd0Oz0gMCk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r wqDCoCDCoGlmIChzdGF0ZS0mZ3Q7aXRlbXNbbXlwb3NdLnR5cGUgPT0gQU5ZUV9WQUwpPC9kaXY+ PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgc3RhdGUtJmd0 O2l0ZW1zW215cG9zXS5sZWZ0ID0gMDs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiB0 cnVlOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2UgaWYgKHN0YXRl LSZndDtpdGVtc1tteXBvc10ucGF5bG9hZCA9PSBBTllRX05PVCk8L2Rpdj48ZGl2PivCoMKgIMKg ezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBzdGF0ZS0mZ3Q7aXRlbXNbbXlwb3Nd LmxlZnQgPSAtMTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiBjb21wdXRlX2xlZnRz KHN0YXRlLCBwb3MpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8 L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpbnTC oMKgIMKgwqDCoCDCoMKgwqAgwqBkZWx0YTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoC8qIGJpbmFyeSBvcGVyYXRvcjogd2FsayByaWdodCBvcGVyYW5kICovPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqBpZiAoIWNvbXB1dGVfbGVmdHMoc3RhdGUsIHBvcykpPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmV0dXJuIGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgZGVsdGEgPSAqcG9zIC0gbXlwb3M7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAo ZGVsdGEgJmx0OyBQR19JTlQxNl9NSU4pPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAt LT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBlcnJzYXZlKHN0YXRlLSZndDtlc2Nv bnRleHQsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAoZXJy Y29kZShFUlJDT0RFX1BST0dSQU1fTElNSVRfRVhDRUVERUQpLDwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIGVycm1zZygiYW55cXVlcnkgZXhwcmVzc2lvbiBp cyB0b28gY29tcGxleCIpKSk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmV0dXJu IGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgc3RhdGUtJmd0O2l0ZW1zW215cG9zXS5sZWZ0ID0gKGludDE2KSBkZWx0YTs8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoHJldHVybiBjb21wdXRlX2xlZnRzKHN0YXRlLCBwb3MpOzwvZGl2Pjxk aXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KzwvZGl2Pjxk aXY+Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqIMKgSW5wdXQgLyBvdXRwdXQgLyBk ZWJ1ZzwvZGl2PjxkaXY+KyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqLzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K0RhdHVtPC9kaXY+PGRpdj4rYW55cXVlcnlfaW4oUEdfRlVOQ1RJT05f QVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgY2hhcsKgwqAgwqAg wqAgKmJ1ZiA9IFBHX0dFVEFSR19DU1RSSU5HKDApOzwvZGl2PjxkaXY+K8KgwqAgwqBQYXJzZXJT dGF0ZSBzdGF0ZTs8L2Rpdj48ZGl2PivCoMKgIMKgQW55UXVlcnkgwqAgKm91dDs8L2Rpdj48ZGl2 PivCoMKgIMKgU2l6ZcKgwqAgwqDCoMKgIMKgaXRlbXNfYnl0ZXM7PC9kaXY+PGRpdj4rwqDCoCDC oFNpemXCoMKgIMKgwqDCoCDCoHRvdGFsOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDC oCDCoMKgwqAgwqBwb3M7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoHN0YXRlLmN1ciA9 IGJ1Zjs8L2Rpdj48ZGl2PivCoMKgIMKgc3RhdGUuZW5kID0gYnVmICsgc3RybGVuKGJ1Zik7PC9k aXY+PGRpdj4rwqDCoCDCoHN0YXRlLmNhcGl0ZW1zID0gMTY7PC9kaXY+PGRpdj4rwqDCoCDCoHN0 YXRlLml0ZW1zID0gKEFueVF1ZXJ5SXRlbSAqKSBwYWxsb2Moc2l6ZW9mKEFueVF1ZXJ5SXRlbSkg KjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBzdGF0ZS5jYXBpdGVtcyk7PC9kaXY+PGRpdj4r wqDCoCDCoHN0YXRlLm5pdGVtcyA9IDA7PC9kaXY+PGRpdj4rwqDCoCDCoGluaXRTdHJpbmdJbmZv KCZhbXA7c3RhdGUuc3Rycyk7PC9kaXY+PGRpdj4rwqDCoCDCoHN0YXRlLmVzY29udGV4dCA9IGZj aW5mby0mZ3Q7Y29udGV4dDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKCFwYXJz ZV9leHByKCZhbXA7c3RhdGUpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgUEdfUkVUVVJOX05V TEwoKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgc2tpcF93cygmYW1wO3N0YXRlKTs8 L2Rpdj48ZGl2PivCoMKgIMKgaWYgKHN0YXRlLmN1ciAmbHQ7IHN0YXRlLmVuZCk8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoGVyZXR1cm4oc3RhdGUuZXNjb250ZXh0LCAoRGF0dW0pIDAsPC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2RlKEVSUkNPREVfU1lOVEFY X0VSUk9SKSw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIGVycm1zZygi dW5leHBlY3RlZCB0cmFpbGluZyBpbnB1dCBpbiBhbnlxdWVyeSIpKSk7PC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rwqDCoCDCoGlmIChzdGF0ZS5uaXRlbXMgPT0gMCk8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoGVyZXR1cm4oc3RhdGUuZXNjb250ZXh0LCAoRGF0dW0pIDAsPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9QQVJBTUVU RVJfVkFMVUUpLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgZXJybXNn KCJlbXB0eSBhbnlxdWVyeSIpKSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmICgo c2l6ZV90KSBzdGF0ZS5uaXRlbXMgJmd0OyBBTllRVUVSWV9NQVhJVEVNUyk8L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoGVyZXR1cm4oc3RhdGUuZXNjb250ZXh0LCAoRGF0dW0pIDAsPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2RlKEVSUkNPREVfUFJPR1JBTV9M SU1JVF9FWENFRURFRCksPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCBl cnJtc2coImFueXF1ZXJ5IGhhcyB0b28gbWFueSBpdGVtcyAoJWQsIG1heGltdW0gJXp1KSIsPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgc3RhdGUu bml0ZW1zLCBBTllRVUVSWV9NQVhJVEVNUykpKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgcG9zID0gc3RhdGUubml0ZW1zIC0gMTs8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKCFjb21wdXRl X2xlZnRzKCZhbXA7c3RhdGUsICZhbXA7cG9zKSk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoFBH X1JFVFVSTl9OVUxMKCk7PC9kaXY+PGRpdj4rwqDCoCDCoEFzc2VydChwb3MgPT0gLTEpOzwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpdGVtc19ieXRlcyA9IE1BWEFMSUdOKHN0YXRlLm5p dGVtcyAqIHNpemVvZihBbnlRdWVyeUl0ZW0pKTs8L2Rpdj48ZGl2PivCoMKgIMKgdG90YWwgPSBB TllRVUVSWV9IRFJTSVpFICsgaXRlbXNfYnl0ZXMgKyBzdGF0ZS5zdHJzLmxlbjs8L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PivCoMKgIMKgb3V0ID0gKEFueVF1ZXJ5ICopIHBhbGxvYzAodG90YWwpOzwv ZGl2PjxkaXY+K8KgwqAgwqBTRVRfVkFSU0laRShvdXQsIHRvdGFsKTs8L2Rpdj48ZGl2PivCoMKg IMKgb3V0LSZndDtzaXplID0gc3RhdGUubml0ZW1zOzwvZGl2PjxkaXY+K8KgwqAgwqBvdXQtJmd0 O3N0cl9vZmYgPSBBTllRVUVSWV9IRFJTSVpFICsgaXRlbXNfYnl0ZXM7PC9kaXY+PGRpdj4rwqDC oCDCoG91dC0mZ3Q7c3RyX2xlbiA9IHN0YXRlLnN0cnMubGVuOzwvZGl2PjxkaXY+K8KgwqAgwqBt ZW1jcHkob3V0LSZndDtpdGVtcywgc3RhdGUuaXRlbXMsIHN0YXRlLm5pdGVtcyAqIHNpemVvZihB bnlRdWVyeUl0ZW0pKTs8L2Rpdj48ZGl2PivCoMKgIMKgbWVtY3B5KChjaGFyICopIG91dCArIG91 dC0mZ3Q7c3RyX29mZiwgc3RhdGUuc3Rycy5kYXRhLCBzdGF0ZS5zdHJzLmxlbik7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rwqDCoCDCoHBmcmVlKHN0YXRlLml0ZW1zKTs8L2Rpdj48ZGl2PivCoMKg IMKgcGZyZWUoc3RhdGUuc3Rycy5kYXRhKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKg UEdfUkVUVVJOX1BPSU5URVIob3V0KTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rLyo8L2Rpdj48ZGl2PisgKiBRdW90ZSBhIHZhbHVlIHN0cmluZyBpZiBpdCBjb250YWlucyBh bnl0aGluZyB0aGUgcGFyc2VyIHdvdWxkIGNvbnNpZGVyPC9kaXY+PGRpdj4rICogc3BlY2lhbC4g wqBPdGhlcndpc2UgZW1pdCBpdCB2ZXJiYXRpbS48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2Pitz dGF0aWMgdm9pZDwvZGl2PjxkaXY+K2FwcGVuZF92YWx1ZV90b2tlbihTdHJpbmdJbmZvIG91dCwg Y29uc3QgY2hhciAqcyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgY29u c3QgY2hhciAqcDs8L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqDCoMKgIMKgbmVlZF9xdW90 ZSA9ICgqcyA9PSAnXDAnKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgZm9yIChwID0g czsgKnA7IHArKyk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqBpZiAoIWlzX3ZhbHVlX2NoYXIoKnApKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg ezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgbmVlZF9xdW90ZSA9IHRy dWU7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgYnJlYWs7PC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivC oMKgIMKgaWYgKCFuZWVkX3F1b3RlKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoGFwcGVuZFN0cmluZ0luZm9TdHJpbmcob3V0LCBzKTs8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybjs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+ KzwvZGl2PjxkaXY+K8KgwqAgwqBhcHBlbmRTdHJpbmdJbmZvQ2hhcihvdXQsICciJyk7PC9kaXY+ PGRpdj4rwqDCoCDCoGZvciAocCA9IHM7ICpwOyBwKyspPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0t IC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKCpwID09ICciJyB8fCAqcCA9PSAnXFwn KTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGFwcGVuZFN0cmluZ0luZm9DaGFyKG91 dCwgJ1xcJyk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBhcHBlbmRTdHJpbmdJbmZvQ2hhcihv dXQsICpwKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqBhcHBlbmRTdHJp bmdJbmZvQ2hhcihvdXQsICciJyk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ Ky8qPC9kaXY+PGRpdj4rICogSW5maXggd2Fsa2VyIGZvciB0aGUgb3V0cHV0IGZ1bmN0aW9uLiDC oFJldHVybnMgdGhlIHBvc3RmaXggaW5kZXggdGhhdDwvZGl2PjxkaXY+KyAqICJjdXIiIGRlY3Jl bWVudGVkIHRvIHNvIHRoZSBjYWxsZXIgY2FuIGNoYWluLjwvZGl2PjxkaXY+KyAqLzwvZGl2Pjxk aXY+K3N0YXRpYyBpbnQ8L2Rpdj48ZGl2PitpbmZpeF93YWxrKFN0cmluZ0luZm8gb3V0LCBBbnlR dWVyeSAqcSwgaW50IGN1ciwgYm9vbCB0b3ApPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRp dj4rwqDCoCDCoEFueVF1ZXJ5SXRlbSAqaXQ7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDC oGNoZWNrX3N0YWNrX2RlcHRoKCk7PC9kaXY+PGRpdj4rwqDCoCDCoEFzc2VydChjdXIgJmd0Oz0g MCk7PC9kaXY+PGRpdj4rwqDCoCDCoGl0ID0gJmFtcDtxLSZndDtpdGVtc1tjdXJdOzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoaXQtJmd0O3R5cGUgPT0gQU5ZUV9WQUwpPC9kaXY+ PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgYXBwZW5kX3Zh bHVlX3Rva2VuKG91dCwgQU5ZUVVFUllfU1RSSU5HKHEsIGl0KSk7PC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqByZXR1cm4gY3VyIC0gMTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8Kg wqAgwqBlbHNlIGlmIChpdC0mZ3Q7cGF5bG9hZCA9PSBBTllRX05PVCk8L2Rpdj48ZGl2PivCoMKg IMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBBbnlRdWVyeUl0ZW0gKmNoaWxk ID0gJmFtcDtxLSZndDtpdGVtc1tjdXIgLSAxXTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGJv b2zCoMKgIMKgwqDCoCDCoHBhcmVuID0gKGNoaWxkLSZndDt0eXBlID09IEFOWVFfT1BSKTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGFwcGVuZFN0cmluZ0luZm9DaGFyKG91 dCwgJyEnKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmIChwYXJlbik8L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoMKgwqAgwqBhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKG91dCwgIiggIik7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBjdXIgPSBpbmZpeF93YWxrKG91dCwgcSwgY3VyIC0gMSwg ZmFsc2UpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKHBhcmVuKTwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgwqDCoCDCoGFwcGVuZFN0cmluZ0luZm9TdHJpbmcob3V0LCAiICkiKTs8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiBjdXI7PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rp dj48ZGl2PivCoMKgIMKgZWxzZTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG9wID0gaXQtJmd0O3BheWxv YWQ7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBTdHJpbmdJbmZvRGF0YSByaWdodDs8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG5leHQ7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAob3AgPT0gQU5ZUV9PUiAmYW1wOyZhbXA7 ICF0b3ApPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgYXBwZW5kU3RyaW5nSW5mb1N0 cmluZyhvdXQsICIoICIpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgLyog cmlnaHQgb3BlcmFuZCBmaXJzdCBpbnRvIGEgc2lkZSBidWZmZXIgKi88L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoGluaXRTdHJpbmdJbmZvKCZhbXA7cmlnaHQpOzwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgbmV4dCA9IGluZml4X3dhbGsoJmFtcDtyaWdodCwgcSwgY3VyIC0gMSwgZmFsc2UpOzwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgLyogbGVmdCBvcGVyYW5kIGludG8gdGhlIG1haW4gYnVm ZmVyICovPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBjdXIgPSBpbmZpeF93YWxrKG91dCwgcSwg bmV4dCwgZmFsc2UpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgYXBwZW5k U3RyaW5nSW5mbyhvdXQsICIgJWMgJXMiLCBvcCwgcmlnaHQuZGF0YSk7PC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqBwZnJlZShyaWdodC5kYXRhKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoGlmIChvcCA9PSBBTllRX09SICZhbXA7JmFtcDsgIXRvcCk8L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoMKgwqAgwqBhcHBlbmRTdHJpbmdJbmZvU3RyaW5nKG91dCwgIiApIik7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gY3VyOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9k aXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0RhdHVtPC9kaXY+PGRpdj4rYW55cXVl cnlfb3V0KFBHX0ZVTkNUSU9OX0FSR1MpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4r wqDCoCDCoEFueVF1ZXJ5IMKgICpxID0gUEdfR0VUQVJHX0FOWVFVRVJZX1AoMCk7PC9kaXY+PGRp dj4rwqDCoCDCoFN0cmluZ0luZm9EYXRhIG91dDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgaWYgKHEtJmd0O3NpemUgJmx0Oz0gMCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVyZXBv cnQoRVJST1IsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2Rl KEVSUkNPREVfSU5WQUxJRF9QQVJBTUVURVJfVkFMVUUpLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgwqDCoCDCoMKgwqAgwqAgZXJybXNnKCJlbXB0eSBhbnlxdWVyeSIpKSk7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rwqDCoCDCoGluaXRTdHJpbmdJbmZvKCZhbXA7b3V0KTs8L2Rpdj48ZGl2PivC oMKgIMKgKHZvaWQpIGluZml4X3dhbGsoJmFtcDtvdXQsIHEsIHEtJmd0O3NpemUgLSAxLCB0cnVl KTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgUEdfUkVUVVJOX0NTVFJJTkcob3V0LmRh dGEpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAq IERlYnVnZ2luZyBoZWxwZXI6IHByb2R1Y2UgYSBwb3N0Zml4IHN0cmluZyB3aXRoIG9wZXJhdG9y IGNvZGVzIHNwZWxsZWQgb3V0LjwvZGl2PjxkaXY+KyAqIE1vc3RseSB1c2VmdWwgd2hpbGUgd3Jp dGluZyB0ZXN0cy48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2Fu eXF1ZXJ5X3F1ZXJ5dHJlZShQR19GVU5DVElPTl9BUkdTKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwv ZGl2PjxkaXY+K8KgwqAgwqBBbnlRdWVyeSDCoCAqcSA9IFBHX0dFVEFSR19BTllRVUVSWV9QKDAp OzwvZGl2PjxkaXY+K8KgwqAgwqBTdHJpbmdJbmZvRGF0YSBvdXQ7PC9kaXY+PGRpdj4rwqDCoCDC oGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoGk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDC oGluaXRTdHJpbmdJbmZvKCZhbXA7b3V0KTs8L2Rpdj48ZGl2PivCoMKgIMKgZm9yIChpID0gMDsg aSAmbHQ7IHEtJmd0O3NpemU7IGkrKyk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqBBbnlRdWVyeUl0ZW0gKml0ID0gJmFtcDtxLSZndDtpdGVtc1tp XTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmIChpICZndDsgMCk8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBhcHBlbmRTdHJpbmdJbmZvQ2hhcigmYW1wO291 dCwgJyAnKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmIChpdC0mZ3Q7dHlwZSA9PSBBTllR X1ZBTCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBhcHBlbmRfdmFsdWVfdG9rZW4o JmFtcDtvdXQsIEFOWVFVRVJZX1NUUklORyhxLCBpdCkpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgZWxzZTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGFwcGVuZFN0cmluZ0luZm9D aGFyKCZhbXA7b3V0LCAoY2hhcikgaXQtJmd0O3BheWxvYWQpOzwvZGl2PjxkaXY+K8KgwqAgwqB9 PC9kaXY+PGRpdj4rwqDCoCDCoFBHX1JFVFVSTl9URVhUX1AoY3N0cmluZ190b190ZXh0X3dpdGhf bGVuKG91dC5kYXRhLCBvdXQubGVuKSk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqIMKgTWF0Y2hp bmc6IGFueWFycmF5IEBAIGFueXF1ZXJ5PC9kaXY+PGRpdj4rICogLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9k aXY+PGRpdj4rICovPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rdHlwZWRlZiBzdHJ1Y3QgTWF0Y2hD b250ZXh0PC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5VHlw ZUluZm8gKm1ldGE7PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoCDCoCAqc29ydGVkO8Kg wqAgwqDCoMKgIMKgwqDCoCDCoC8qIHNvcnRlZCBhcnJheSBlbGVtZW50cyAob3duZWQpICovPC9k aXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG5lbGVtczs8L2Rpdj48ZGl2 PivCoMKgIMKgLyogY2FjaGVkIHBhcnNlZCB2YWx1ZXMgZm9yIGVhY2ggVkFMIGl0ZW0gaW4gdGhl IHF1ZXJ5ICovPC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoCDCoCAqcGFyc2VkOzwvZGl2 PjxkaXY+K8KgwqAgwqBib29swqDCoCDCoCDCoCAqcGFyc2VkX3ZhbGlkOzwvZGl2PjxkaXY+K30g TWF0Y2hDb250ZXh0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICogTG9v ayB1cCB2YWwgaW4gdGhlIHNvcnRlZCBlbGVtZW50IGFycmF5IHZpYSBiaW5hcnkgc2VhcmNoLjwv ZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K3N0YXRpYyBib29sPC9kaXY+PGRpdj4rY29udGFpbnNf dmFsdWUoTWF0Y2hDb250ZXh0ICpjdHgsIERhdHVtIHZhbCk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48 L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgbG8gPSAwOzwvZGl2Pjxk aXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBoaSA9IGN0eC0mZ3Q7bmVsZW1zOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqB3aGlsZSAobG8gJmx0OyBoaSk8L2Rpdj48ZGl2 PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpbnTCoMKgIMKgwqDC oCDCoMKgwqAgwqBtaWQgPSBsbyArIChoaSAtIGxvKSAvIDI7PC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBjID0gRGF0dW1HZXRJbnQzMihGdW5jdGlvbkNh bGwyQ29sbCgmYW1wO2N0eC0mZ3Q7bWV0YS0mZ3Q7Y21wX3Byb2MsPC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBjdHgtJmd0O21ldGEtJmd0O3R5cGNv bGxhdGlvbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoGN0eC0mZ3Q7c29ydGVkW21pZF0sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqB2YWwpKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoGlmIChjID09IDApPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmV0dXJu IHRydWU7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoYyAmbHQ7IDApPC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqDCoMKgIMKgbG8gPSBtaWQgKyAxOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgZWxzZTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGhpID0gbWlkOzwvZGl2Pjxk aXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoHJldHVybiBmYWxzZTs8L2Rpdj48ZGl2Pit9 PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBFdmFsdWF0ZSBvbmUgbm9k ZSBvZiB0aGUgcG9zdGZpeCB0cmVlLiDCoFJlY3Vyc2l2ZSBvbiBvcGVyYXRvcnMuPC9kaXY+PGRp dj4rICovPC9kaXY+PGRpdj4rc3RhdGljIGJvb2w8L2Rpdj48ZGl2PitldmFsX2l0ZW0oQW55UXVl cnkgKnEsIGludCBpZHgsIE1hdGNoQ29udGV4dCAqY3R4LCBPaWQgaW5wdXRfZnVuYyw8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoCDCoGludCBpbnB1dF90eXBpb3BhcmFtLCBpbnQzMiBpbnB1dF90 eXBtb2QpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoEFueVF1ZXJ5SXRl bSAqaXQ7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGNoZWNrX3N0YWNrX2RlcHRoKCk7 PC9kaXY+PGRpdj4rwqDCoCDCoEFzc2VydChpZHggJmd0Oz0gMCk7PC9kaXY+PGRpdj4rwqDCoCDC oGl0ID0gJmFtcDtxLSZndDtpdGVtc1tpZHhdOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAg wqBpZiAoaXQtJmd0O3R5cGUgPT0gQU5ZUV9WQUwpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0t PjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgRGF0dW3CoMKgIMKgwqDCoCDCoHY7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoIWN0eC0mZ3Q7cGFyc2VkX3ZhbGlkW2lk eF0pPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqBjb25zdCBjaGFyICpzID0gQU5ZUVVFUllfU1RSSU5HKHEsIGl0KTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqB2ID0gT2lkSW5wdXRGdW5j dGlvbkNhbGwoaW5wdXRfZnVuYywgKGNoYXIgKikgcyw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgaW5wdXRf dHlwaW9wYXJhbSwgaW5wdXRfdHlwbW9kKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAg wqBjdHgtJmd0O3BhcnNlZFtpZHhdID0gdjs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAg wqBjdHgtJmd0O3BhcnNlZF92YWxpZFtpZHhdID0gdHJ1ZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiBjb250YWluc192YWx1ZShjdHgs IGN0eC0mZ3Q7cGFyc2VkW2lkeF0pOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDC oCDCoGVsc2UgaWYgKGl0LSZndDtwYXlsb2FkID09IEFOWVFfTk9UKTwvZGl2PjxkaXY+K8KgwqAg wqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiAhZXZhbF9pdGVtKHEs IGlkeCAtIDEsIGN0eCwgaW5wdXRfZnVuYyw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBpbnB1dF90eXBpb3BhcmFtLCBpbnB1dF90eXBtb2Qp OzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2UgaWYgKGl0LSZndDtw YXlsb2FkID09IEFOWVFfQU5EKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoGlmICghZXZhbF9pdGVtKHEsIGlkeCArIGl0LSZndDtsZWZ0LCBjdHgs IGlucHV0X2Z1bmMsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqAgwqAgaW5wdXRfdHlwaW9wYXJhbSwgaW5wdXRfdHlwbW9kKSk8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqByZXR1cm4gZmFsc2U7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1 cm4gZXZhbF9pdGVtKHEsIGlkeCAtIDEsIGN0eCwgaW5wdXRfZnVuYyw8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgaW5wdXRfdHlwaW9wYXJhbSwg aW5wdXRfdHlwbW9kKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqBlbHNl wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgLyogQU5ZUV9PUiAqLzwv ZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmIChl dmFsX2l0ZW0ocSwgaWR4ICsgaXQtJmd0O2xlZnQsIGN0eCwgaW5wdXRfZnVuYyw8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoGlucHV0X3R5cGlvcGFyYW0s IGlucHV0X3R5cG1vZCkpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmV0dXJuIHRy dWU7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gZXZhbF9pdGVtKHEsIGlkeCAtIDEs IGN0eCwgaW5wdXRfZnVuYyw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqAgaW5wdXRfdHlwaW9wYXJhbSwgaW5wdXRfdHlwbW9kKTs8L2Rpdj48ZGl2 PivCoMKgIMKgfTwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitzdGF0aWMgRGF0 dW08L2Rpdj48ZGl2Pitkb19ib29sb3AoRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sIEFycmF5VHlw ZSAqYXJyLCBBbnlRdWVyeSAqcSk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKg IMKgQW55QXJyYXlUeXBlSW5mbyAqbWV0YTs8L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKg IMKgICp2YWx1ZXM7PC9kaXY+PGRpdj4rwqDCoCDCoGJvb2zCoMKgIMKgIMKgICpudWxsczs8L2Rp dj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgbmVsZW1zOzwvZGl2PjxkaXY+ K8KgwqAgwqBPaWTCoMKgIMKgwqDCoCDCoMKgwqAgwqBpbnB1dF9mdW5jOzwvZGl2PjxkaXY+K8Kg wqAgwqBPaWTCoMKgIMKgwqDCoCDCoMKgwqAgwqBpbnB1dF90eXBpb3BhcmFtOzwvZGl2PjxkaXY+ K8KgwqAgwqBib29swqDCoCDCoMKgwqAgwqByZXN1bHQ7PC9kaXY+PGRpdj4rwqDCoCDCoE1hdGNo Q29udGV4dCBjdHg7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoEFOWUFSUkFZX0NIRUNL X0FSUkFZKGFycik7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmIChxLSZndDtzaXpl ICZsdDs9IDApPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBlcmVwb3J0KEVSUk9SLDwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAoZXJyY29kZShFUlJDT0RFX0lOVkFMSURf UEFSQU1FVEVSX1ZBTFVFKSw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg IGVycm1zZygiZW1wdHkgYW55cXVlcnkiKSkpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAg wqBtZXRhID0gYW55YXJyYXlfZ2V0X21ldGEoZmNpbmZvLCBBUlJfRUxFTVRZUEUoYXJyKSwgZmFs c2UpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoQVJSX05ESU0oYXJyKSA9PSAw KTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoG5l bGVtcyA9IDA7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB2YWx1ZXMgPSBOVUxMOzwvZGl2Pjxk aXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8L2Rpdj48ZGl2PivCoMKgIMKgezwh LS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBkZWNvbnN0cnVjdF9hcnJheShhcnIsIG1l dGEtJmd0O2VsZW1lbnRfdHlwZSwgbWV0YS0mZ3Q7dHlwbGVuLDwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoG1ldGEtJmd0O3R5cGJ5dmFsLCBt ZXRhLSZndDt0eXBhbGlnbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqAgwqAmYW1wO3ZhbHVlcywgJmFtcDtudWxscywgJmFtcDtuZWxlbXMpOzwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcGZyZWUobnVsbHMpOzwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgaWYgKG5lbGVtcyAmZ3Q7IDEpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKg cXNvcnRfYXJnKHZhbHVlcywgbmVsZW1zLCBzaXplb2YoRGF0dW0pLDwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgYW55YXJyYXlfY21wX2RhdHVtLCBtZXRh KTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBnZXRU eXBlSW5wdXRJbmZvKG1ldGEtJmd0O2VsZW1lbnRfdHlwZSwgJmFtcDtpbnB1dF9mdW5jLCAmYW1w O2lucHV0X3R5cGlvcGFyYW0pOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBjdHgubWV0 YSA9IG1ldGE7PC9kaXY+PGRpdj4rwqDCoCDCoGN0eC5zb3J0ZWQgPSB2YWx1ZXM7PC9kaXY+PGRp dj4rwqDCoCDCoGN0eC5uZWxlbXMgPSBuZWxlbXM7PC9kaXY+PGRpdj4rwqDCoCDCoGN0eC5wYXJz ZWQgPSAoRGF0dW0gKikgcGFsbG9jMChzaXplb2YoRGF0dW0pICogcS0mZ3Q7c2l6ZSk7PC9kaXY+ PGRpdj4rwqDCoCDCoGN0eC5wYXJzZWRfdmFsaWQgPSAoYm9vbCAqKSBwYWxsb2MwKHNpemVvZihi b29sKSAqIHEtJmd0O3NpemUpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqByZXN1bHQg PSBldmFsX2l0ZW0ocSwgcS0mZ3Q7c2l6ZSAtIDEsICZhbXA7Y3R4LCBpbnB1dF9mdW5jLDwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgIGlucHV0X3R5cGlv cGFyYW0sIC0xKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgcGZyZWUoY3R4LnBhcnNl ZCk7PC9kaXY+PGRpdj4rwqDCoCDCoHBmcmVlKGN0eC5wYXJzZWRfdmFsaWQpOzwvZGl2PjxkaXY+ K8KgwqAgwqBpZiAodmFsdWVzKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcGZyZWUodmFsdWVz KTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgUEdfUkVUVVJOX0JPT0wocmVzdWx0KTs8 L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rRGF0dW08L2Rpdj48ZGl2Pithbnlh cnJheV9ib29sb3AoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48 ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmFyciA9IFBHX0dFVEFSR19BUlJBWVRZUEVfUCgwKTs8 L2Rpdj48ZGl2PivCoMKgIMKgQW55UXVlcnkgwqAgKnEgPSBQR19HRVRBUkdfQU5ZUVVFUllfUCgx KTs8L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKgwqDCoCDCoHJlc3VsdCA9IGRvX2Jvb2xv cChmY2luZm8sIGFyciwgcSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoFBHX0ZSRUVf SUZfQ09QWShhcnIsIDApOzwvZGl2PjxkaXY+K8KgwqAgwqBQR19GUkVFX0lGX0NPUFkocSwgMSk7 PC9kaXY+PGRpdj4rwqDCoCDCoHJldHVybiByZXN1bHQ7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+ KzwvZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICogQ29tbXV0YXRvcjogYW55cXVlcnkgfn4gYW55 YXJyYXkgc2ltcGx5IHN3YXBzIHRoZSBhcmd1bWVudHMuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRp dj4rRGF0dW08L2Rpdj48ZGl2PithbnlxdWVyeV9ib29sb3BfcmV2KFBHX0ZVTkNUSU9OX0FSR1Mp PC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoEFueVF1ZXJ5IMKgICpxID0g UEdfR0VUQVJHX0FOWVFVRVJZX1AoMCk7PC9kaXY+PGRpdj4rwqDCoCDCoEFycmF5VHlwZSDCoCph cnIgPSBQR19HRVRBUkdfQVJSQVlUWVBFX1AoMSk7PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDC oCDCoMKgwqAgwqByZXN1bHQgPSBkb19ib29sb3AoZmNpbmZvLCBhcnIsIHEpOzwvZGl2PjxkaXY+ KzwvZGl2PjxkaXY+K8KgwqAgwqBQR19GUkVFX0lGX0NPUFkocSwgMCk7PC9kaXY+PGRpdj4rwqDC oCDCoFBHX0ZSRUVfSUZfQ09QWShhcnIsIDEpOzwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gcmVz dWx0OzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2PmRpZmYgLS1naXQgYS9jb250cmliL2FueWFycmF5 L2FueWFycmF5X2dpbi5jIGIvY29udHJpYi9hbnlhcnJheS9hbnlhcnJheV9naW4uYzwvZGl2Pjxk aXY+bmV3IGZpbGUgbW9kZSAxMDA2NDQ8L2Rpdj48ZGl2PmluZGV4IDAwMDAwMDAwMDAwLi5kOWQy MDFjMTJkNTwvZGl2PjxkaXY+LS0tIC9kZXYvbnVsbDwvZGl2PjxkaXY+KysrIGIvY29udHJpYi9h bnlhcnJheS9hbnlhcnJheV9naW4uYzwvZGl2PjxkaXY+QEAgLTAsMCArMSwzNzQgQEA8L2Rpdj48 ZGl2PisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqIGFueWFy cmF5X2dpbi5jPC9kaXY+PGRpdj4rICrCoMKgIMKgwqDCoCDCoEdJTiBvcGNsYXNzZXMgdGhhdCBh ZGQgdGhlIEBAIChhbnlhcnJheSwgYW55cXVlcnkpIGJvb2xlYW4gc2VhcmNoPC9kaXY+PGRpdj4r ICrCoMKgIMKgwqDCoCDCoG9wZXJhdG9yIHRvIHRoZSBleGlzdGluZyBhcnJheV9vcHMgYmVoYXZp b3VyLjwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogR0lOJ3MgZXh0cmFjdFF1ZXJ5IHN1cHBv cnQgZnVuY3Rpb24gZG9lc24ndCBzZWUgZm5fZXhwciwgc28gdGhlIGVsZW1lbnQ8L2Rpdj48ZGl2 PisgKiB0eXBlIGNhbm5vdCBiZSBkZXJpdmVkIGR5bmFtaWNhbGx5IHdoZW4gdGhlIHF1ZXJ5IGlz IGFuIGFueXF1ZXJ5ICh3aGljaDwvZGl2PjxkaXY+KyAqIGNhcnJpZXMgb25seSB0ZXh0IHRva2Vu cykuIMKgV2Ugd29yayBhcm91bmQgdGhpcyBieSBleHBvc2luZyBvbmUgb3BjbGFzczwvZGl2Pjxk aXY+KyAqIHBlciBjb25jcmV0ZSBlbGVtZW50IHR5cGU7IGVhY2ggaXMgYSB0aGluIEMgd3JhcHBl ciB0aGF0IGRpc3BhdGNoZXMgb248L2Rpdj48ZGl2PisgKiB0aGUgc3RyYXRlZ3kgbnVtYmVyLCBk ZWxlZ2F0aW5nIHN0YW5kYXJkIG9wZXJhdG9ycyB0byBpbmxpbmUgcmVwbGljYXMgb2Y8L2Rpdj48 ZGl2PisgKiBjb3JlJ3MgYXJyYXlfb3BzIGJlaGF2aW91ciBhbmQgcGFyc2luZyBhbnlxdWVyeSB0 b2tlbnMgdmlhIHRoZSB0eXBlJ3M8L2Rpdj48ZGl2PisgKiBpbnB1dCBmdW5jdGlvbiBmb3Igc3Ry YXRlZ3kgNS48L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqIENvcHlyaWdodCAoYykgMjAyNiwg UG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1lbnQgR3JvdXA8L2Rpdj48ZGl2PisgKjwvZGl2Pjxk aXY+KyAqIElERU5USUZJQ0FUSU9OPC9kaXY+PGRpdj4rICrCoMKgIMKgwqDCoCDCoGNvbnRyaWIv YW55YXJyYXkvYW55YXJyYXlfZ2luLmM8L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNpbmNsdWRl ICJwb3N0Z3Jlcy5oIjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNpbmNsdWRlICJhbnlhcnJheS5o IjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNpbmNsdWRlICJhY2Nlc3MvZ2luLmgiPC9kaXY+PGRp dj4rI2luY2x1ZGUgImFjY2Vzcy9zdHJhdG51bS5oIjwvZGl2PjxkaXY+KyNpbmNsdWRlICJjYXRh bG9nL3BnX3R5cGUuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAidXRpbHMvYXJyYXkuaCI8L2Rpdj48 ZGl2PisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAidXRp bHMvbHN5c2NhY2hlLmgiPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19W MShhbnlhcnJheV9naW5fZXh0cmFjdF9xdWVyeV9pbnQ4KTs8L2Rpdj48ZGl2PitQR19GVU5DVElP Tl9JTkZPX1YxKGFueWFycmF5X2dpbl9leHRyYWN0X3F1ZXJ5X3V1aWQpOzwvZGl2PjxkaXY+K1BH X0ZVTkNUSU9OX0lORk9fVjEoYW55YXJyYXlfZ2luX2V4dHJhY3RfcXVlcnlfdGV4dCk7PC9kaXY+ PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJheV9naW5fY29uc2lzdGVudF9pbnQ4KTs8 L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueWFycmF5X2dpbl9jb25zaXN0ZW50X3V1 aWQpOzwvZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lORk9fVjEoYW55YXJyYXlfZ2luX2NvbnNpc3Rl bnRfdGV4dCk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyogLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tPC9kaXY+PGRpdj4rICogwqBDb21tb246IGV4dHJhY3RRdWVyeSBkaXNwYXRjaGVyPC9k aXY+PGRpdj4rICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBFeHRyYWN0IGFycmF5IGVsZW1lbnRzIGFzIEdJTiBr ZXlzICh1c2VkIGZvciBzdHJhdGVnaWVzIDEtNCkuPC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2Pisg KiBNaXJyb3JzIGNvcmUncyBnaW5xdWVyeWFycmF5ZXh0cmFjdCBsb2dpYywgYnV0IGlubGluZWQg c28gd2UgZG9uJ3QgZGVwZW5kPC9kaXY+PGRpdj4rICogb24gaXQgYmVpbmcgY2FsbGFibGUuIMKg UmV0dXJucyBhIGZyZXNobHktcGFsbG9jJ2QgRGF0dW0gdmVjdG9yLjwvZGl2PjxkaXY+KyAqLzwv ZGl2PjxkaXY+K3N0YXRpYyBEYXR1bSAqPC9kaXY+PGRpdj4rZXh0cmFjdF9hcnJheV9rZXlzKEFy cmF5VHlwZSAqYXJyLCBBbnlBcnJheVR5cGVJbmZvICptZXRhLDwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgaW50MzIgKm5lbnRyaWVzLCBib29sICoqbnVsbHNfb3V0 KTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBEYXR1bcKgwqAgwqAgwqAg KnZhbHVlczs8L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqAgwqAgKm51bGxzOzwvZGl2Pjxk aXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBuOzwvZGl2PjxkaXY+K8KgwqAgwqBp bnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBpOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDC oCDCoMKgwqAgwqBqID0gMDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKEFSUl9O RElNKGFycikgPT0gMCk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqAqbmVudHJpZXMgPSAwOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKm51bGxz X291dCA9IE5VTEw7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gTlVMTDs8L2Rpdj48 ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBkZWNvbnN0cnVjdF9h cnJheShhcnIsIG1ldGEtJmd0O2VsZW1lbnRfdHlwZSwgbWV0YS0mZ3Q7dHlwbGVuLDwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgbWV0YS0mZ3Q7dHlwYnl2 YWwsIG1ldGEtJmd0O3R5cGFsaWduLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgIMKgJmFtcDt2YWx1ZXMsICZhbXA7bnVsbHMsICZhbXA7bik7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rwqDCoCDCoC8qIGNvbXBhY3Qgb3V0IE5VTEwgZW50cmllcyAod2UgdHJl YXQgTlVMTHMgYXMgbmV2ZXItcHJlc2VudCkgKi88L2Rpdj48ZGl2PivCoMKgIMKgZm9yIChpID0g MDsgaSAmbHQ7IG47IGkrKyk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqBpZiAoIW51bGxzW2ldKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgezwh LS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgaWYgKGogIT0gaSk8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoMKgwqAgwqDCoMKgIMKgdmFsdWVzW2pdID0gdmFsdWVzW2ldOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBudWxsc1tqXSA9IGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBqKys7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PivCoMKgIMKgKm5lbnRyaWVzID0gajs8L2Rpdj48ZGl2PivCoMKgIMKgKm51bGxz X291dCA9IG51bGxzOzwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gdmFsdWVzOzwvZGl2PjxkaXY+ K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIFdhbGsgdGhlIGFueXF1 ZXJ5OiBldmVyeSBWQUwgaXMgYSBrZXkgdGhhdCBtdXN0IGJlIGxvb2tlZCB1cCBpbiB0aGUgR0lO PC9kaXY+PGRpdj4rICogaW5kZXguIMKgT3BlcmF0b3JzICgmYW1wOyB8ICEpIGRvIG5vdCBjb250 cmlidXRlIGtleXMuIMKgUmV0dXJucyB0cnVlIGlmIGF0PC9kaXY+PGRpdj4rICogbGVhc3Qgb25l IFZBTCBtdXN0IGJlIHByZXNlbnQgZm9yIHRoZSBxdWVyeSB0byBwb3NzaWJseSBtYXRjaCAoaS5l LiB0aGU8L2Rpdj48ZGl2PisgKiBxdWVyeSBpcyBub3QgZS5nLiAiIWZvbyIpLjwvZGl2PjxkaXY+ KyAqLzwvZGl2PjxkaXY+K3N0YXRpYyBib29sPC9kaXY+PGRpdj4rYW55cXVlcnlfaGFzX3JlcXVp cmVkKEFueVF1ZXJ5ICpxLCBpbnQgaWR4KTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+ K8KgwqAgwqBBbnlRdWVyeUl0ZW0gKml0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBp ZiAoaWR4ICZsdDsgMCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiBmYWxzZTs8L2Rp dj48ZGl2PivCoMKgIMKgaXQgPSAmYW1wO3EtJmd0O2l0ZW1zW2lkeF07PC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rwqDCoCDCoGlmIChpdC0mZ3Q7dHlwZSA9PSBBTllRX1ZBTCk8L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoHJldHVybiB0cnVlOzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoaXQtJmd0O3Bh eWxvYWQgPT0gQU5ZUV9OT1QpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gZmFsc2U7 wqDCoCDCoMKgwqAgwqDCoMKgIMKgLyogYXNzdW1lIG5vbi1yZXF1aXJlZCB1bmRlciBOT1QgKi88 L2Rpdj48ZGl2PivCoMKgIMKgaWYgKGl0LSZndDtwYXlsb2FkID09IEFOWVFfQU5EKTwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgcmV0dXJuIGFueXF1ZXJ5X2hhc19yZXF1aXJlZChxLCBpZHggKyBp dC0mZ3Q7bGVmdCkgfHw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBhbnlxdWVyeV9o YXNfcmVxdWlyZWQocSwgaWR4IC0gMSk7PC9kaXY+PGRpdj4rwqDCoCDCoC8qIE9SOiBib3RoIHNp ZGVzIG11c3QgY29udGFpbiByZXF1aXJlZCB2YWx1ZXMgKi88L2Rpdj48ZGl2PivCoMKgIMKgcmV0 dXJuIGFueXF1ZXJ5X2hhc19yZXF1aXJlZChxLCBpZHggKyBpdC0mZ3Q7bGVmdCkgJmFtcDsmYW1w OzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgYW55cXVlcnlfaGFzX3JlcXVpcmVkKHEsIGlkeCAt IDEpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitzdGF0aWMgRGF0dW08L2Rp dj48ZGl2Pitkb19naW5fZXh0cmFjdF9xdWVyeShGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywgT2lk IGVsZW1fdHlwZSk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3C oMKgIMKgwqDCoCDCoHF1ZXJ5RGF0dW0gPSBQR19HRVRBUkdfREFUVU0oMCk7PC9kaXY+PGRpdj4r wqDCoCDCoGludDMywqDCoCDCoCDCoCAqbmVudHJpZXMgPSAoaW50MzIgKikgUEdfR0VUQVJHX1BP SU5URVIoMSk7PC9kaXY+PGRpdj4rwqDCoCDCoFN0cmF0ZWd5TnVtYmVyIHN0cmF0ID0gUEdfR0VU QVJHX1VJTlQxNigyKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgLyogUEdfR0VUQVJH X1BPSU5URVIoMyk6IHBhcnRpYWxfbWF0Y2hlcyAtLSBub3QgdXNlZCAqLzwvZGl2PjxkaXY+K8Kg wqAgwqAvKiBQR19HRVRBUkdfUE9JTlRFUig0KTogZXh0cmFfZGF0YSAtLSBub3QgdXNlZCAqLzwv ZGl2PjxkaXY+K8KgwqAgwqBib29swqDCoCDCoCDCoCoqbnVsbEZsYWdzID0gKGJvb2wgKiopIFBH X0dFVEFSR19QT0lOVEVSKDUpOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnQzMsKgwqAgwqAgwqAgKnNl YXJjaE1vZGUgPSAoaW50MzIgKikgUEdfR0VUQVJHX1BPSU5URVIoNik7PC9kaXY+PGRpdj4rwqDC oCDCoERhdHVtwqDCoCDCoCDCoCAqa2V5cyA9IE5VTEw7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r wqDCoCDCoCpuZW50cmllcyA9IDA7PC9kaXY+PGRpdj4rwqDCoCDCoCpudWxsRmxhZ3MgPSBOVUxM OzwvZGl2PjxkaXY+K8KgwqAgwqAqc2VhcmNoTW9kZSA9IEdJTl9TRUFSQ0hfTU9ERV9ERUZBVUxU OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoc3RyYXQgPT0gQU5ZQVJSQVlfR0lO X0JPT0xFQU5fU1RSQVRFR1kpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+ K8KgwqAgwqDCoMKgIMKgQW55UXVlcnkgwqAgKnEgPSBEYXR1bUdldEFueVF1ZXJ5UChxdWVyeURh dHVtKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoE9pZMKgwqAgwqDCoMKgIMKgwqDCoCDCoGlu cHV0X2Z1bmM7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBPaWTCoMKgIMKgwqDCoCDCoMKgwqAg wqBpbnB1dF90eXBpb3BhcmFtOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaW50wqDCoCDCoMKg wqAgwqDCoMKgIMKgaTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGludMKgwqAgwqDCoMKgIMKg wqDCoCDCoGsgPSAwOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKHEt Jmd0O3NpemUgJmx0Oz0gMCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBQR19SRVRV Uk5fUE9JTlRFUihOVUxMKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoC8q PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqAgKiBJZiB0aGUgcXVlcnkgaGFzIG5vIHJlcXVpcmVk IFZBTCAoZS5nLiBqdXN0ICIhZm9vIiksIHdlIG11c3Qgc2NhbjwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgICogdGhlIHdob2xlIGluZGV4IGJlY2F1c2Ugcm93cyBjb250YWluaW5nIE5PTkUgb2Yg dGhlIHF1ZXJpZWQgdmFsdWVzPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqAgKiBhcmUgdmFsaWQg bWF0Y2hlcy48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoCAqLzwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgaWYgKCFhbnlxdWVyeV9oYXNfcmVxdWlyZWQocSwgcS0mZ3Q7c2l6ZSAtIDEpKTwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoCpzZWFyY2hNb2RlID0gR0lOX1NFQVJDSF9NT0RF X0FMTDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGdldFR5cGVJbnB1dElu Zm8oZWxlbV90eXBlLCAmYW1wO2lucHV0X2Z1bmMsICZhbXA7aW5wdXRfdHlwaW9wYXJhbSk7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBrZXlzID0gKERhdHVtICopIHBhbGxvYyhzaXplb2YoRGF0 dW0pICogcS0mZ3Q7c2l6ZSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBm b3IgKGkgPSAwOyBpICZsdDsgcS0mZ3Q7c2l6ZTsgaSsrKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgQW55UXVlcnlJdGVt ICppdCA9ICZhbXA7cS0mZ3Q7aXRlbXNbaV07PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqDCoMKgIMKgaWYgKGl0LSZndDt0eXBlICE9IEFOWVFfVkFMKTwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBjb250aW51ZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoMKgwqAgwqBrZXlzW2srK10gPSBPaWRJbnB1dEZ1bmN0aW9uQ2FsbChpbnB1dF9mdW5jLDwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIChjaGFyICopIEFOWVFVRVJZX1NUUklORyhx LCBpdCksPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgaW5wdXRfdHlwaW9wYXJhbSwg LTEpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg Km5lbnRyaWVzID0gazs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoFBHX1JFVFVSTl9QT0lOVEVS KGtleXMpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8L2Rpdj48 ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBBcnJheVR5cGUg wqAqYXJyID0gRGF0dW1HZXRBcnJheVR5cGVQKHF1ZXJ5RGF0dW0pOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgQW55QXJyYXlUeXBlSW5mbyAqbWV0YSA9IGFueWFycmF5X2dldF9tZXRhKGZjaW5m bywgZWxlbV90eXBlLCBmYWxzZSk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBib29swqDCoCDC oCDCoCAqbnVsbHM7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBBTllBUlJB WV9DSEVDS19BUlJBWShhcnIpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKga2V5cyA9IGV4dHJh Y3RfYXJyYXlfa2V5cyhhcnIsIG1ldGEsIG5lbnRyaWVzLCAmYW1wO251bGxzKTs8L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHN3aXRjaCAoc3RyYXQpPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBjYXNl IEFOWUFSUkFZX0dJTl9PVkVSTEFQX1NUUkFURUdZOjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqAqc2VhcmNoTW9kZSA9IEdJTl9TRUFSQ0hfTU9ERV9ERUZBVUxUOzwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoMKgwqAgwqBjYXNlIEFOWUFSUkFZX0dJTl9DT05UQUlORURfU1RSQVRFR1k6PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCpzZWFyY2hNb2RlID0gR0lOX1NF QVJDSF9NT0RFX0lOQ0xVREVfRU1QVFk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoGJyZWFrOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGNhc2UgQU5ZQVJS QVlfR0lOX0VRVUFMX1NUUkFURUdZOjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqAqc2VhcmNoTW9kZSA9ICgqbmVudHJpZXMgJmd0OyAwKTwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgPyBHSU5fU0VBUkNIX01PREVfREVGQVVMVDwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgOiBHSU5fU0VBUkNIX01P REVfSU5DTFVERV9FTVBUWTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg YnJlYWs7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgY2FzZSBBTllBUlJBWV9HSU5f Q09OVEFJTlNfU1RSQVRFR1k6PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC oCpzZWFyY2hNb2RlID0gKCpuZW50cmllcyAmZ3Q7IDApPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqA/IEdJTl9TRUFSQ0hfTU9ERV9ERUZBVUxUPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqA6IEdJTl9TRUFSQ0hfTU9ERV9B TEw7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoGJyZWFrOzwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGRlZmF1bHQ6PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoGVsb2coRVJST1IsICJhbnlhcnJheV9naW46IHVua25vd24gc3RyYXRl Z3kgbnVtYmVyOiAlZCIsIHN0cmF0KTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoH08L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoCh2b2lkKSBudWxsczvCoMKgIMKgwqDCoCDC oMKgwqAgwqAvKiBzd2FsbG93ZWQgYnkgZXh0cmFjdF9hcnJheV9rZXlzICovPC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqBQR19SRVRVUk5fUE9JTlRFUihrZXlzKTs8L2Rpdj48ZGl2PivCoMKgIMKg fTwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgKiDCoENvbW1vbjogY29uc2lzdGVudCBkaXNwYXRjaGVy PC9kaXY+PGRpdj4rICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBFdmFsdWF0ZSBhbiBhbnlxdWVyeSBhZ2FpbnN0 IGFuIGFycmF5IG9mICJrZXkgcHJlc2VudCIgZmxhZ3MuIMKgVGhlIGktdGg8L2Rpdj48ZGl2Pisg KiBWQUwgaW4gcG9zdGZpeCBvcmRlciBjb3JyZXNwb25kcyB0byBjaGVja1tpXSAod2UgbWFwcGVk IHRoZW0gaW48L2Rpdj48ZGl2PisgKiBleHRyYWN0UXVlcnksIHNvIHRoZSBqLXRoIFZBTCB3ZSBl bWl0dGVkIGlzIGNoZWNrW2pdKS4gwqBXZSByZWJ1aWxkIHRoYXQ8L2Rpdj48ZGl2PisgKiBWQUwt b25seSBtYXBwaW5nIGhlcmUgYXMgd2Ugd2FsayB0aGUgcG9zdGZpeCB0cmVlLjwvZGl2PjxkaXY+ KyAqLzwvZGl2PjxkaXY+K3R5cGVkZWYgc3RydWN0IEFueVF1ZXJ5Q2hlY2s8L2Rpdj48ZGl2Pit7 PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgY29uc3QgYm9vbCAqY2hlY2s7wqDCoCDCoMKgwqAg wqDCoMKgIMKgLyogR0lOJ3MgcHJlc2VudC1rZXkgZmxhZ3MgKi88L2Rpdj48ZGl2PivCoMKgIMKg aW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgbmV4dDvCoMKgIMKgwqDCoCDCoMKgwqAgwqAvKiBuZXh0 IGluZGV4IGluIGNoZWNrW10gKi88L2Rpdj48ZGl2Pit9IEFueVF1ZXJ5Q2hlY2s7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rc3RhdGljIGJvb2w8L2Rpdj48ZGl2PitldmFsX3dpdGhfY2hlY2soQW55 UXVlcnkgKnEsIGludCBpZHgsIGJvb2wgKnZhbHMpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+ PGRpdj4rwqDCoCDCoEFueVF1ZXJ5SXRlbSAqaXQgPSAmYW1wO3EtJmd0O2l0ZW1zW2lkeF07PC9k aXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmIChpdC0mZ3Q7dHlwZSA9PSBBTllRX1ZBTCk8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiB2YWxzW2lkeF07PC9kaXY+PGRpdj4rwqDC oCDCoGlmIChpdC0mZ3Q7cGF5bG9hZCA9PSBBTllRX05PVCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoHJldHVybiAhZXZhbF93aXRoX2NoZWNrKHEsIGlkeCAtIDEsIHZhbHMpOzwvZGl2PjxkaXY+ K8KgwqAgwqBpZiAoaXQtJmd0O3BheWxvYWQgPT0gQU5ZUV9BTkQpPC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqByZXR1cm4gZXZhbF93aXRoX2NoZWNrKHEsIGlkeCArIGl0LSZndDtsZWZ0LCB2YWxz KSAmYW1wOyZhbXA7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgZXZhbF93aXRoX2No ZWNrKHEsIGlkeCAtIDEsIHZhbHMpOzwvZGl2PjxkaXY+K8KgwqAgwqAvKiBPUiAqLzwvZGl2Pjxk aXY+K8KgwqAgwqByZXR1cm4gZXZhbF93aXRoX2NoZWNrKHEsIGlkeCArIGl0LSZndDtsZWZ0LCB2 YWxzKSB8fDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgZXZhbF93aXRoX2NoZWNrKHEsIGlkeCAt IDEsIHZhbHMpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitzdGF0aWMgRGF0 dW08L2Rpdj48ZGl2Pitkb19naW5fY29uc2lzdGVudChGdW5jdGlvbkNhbGxJbmZvIGZjaW5mbywg T2lkIGVsZW1fdHlwZSk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgYm9v bMKgwqAgwqAgwqAgKmNoZWNrID0gKGJvb2wgKikgUEdfR0VUQVJHX1BPSU5URVIoMCk7PC9kaXY+ PGRpdj4rwqDCoCDCoFN0cmF0ZWd5TnVtYmVyIHN0cmF0ID0gUEdfR0VUQVJHX1VJTlQxNigxKTs8 L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKgwqDCoCDCoHF1ZXJ5RGF0dW0gPSBQR19HRVRB UkdfREFUVU0oMik7PC9kaXY+PGRpdj4rwqDCoCDCoGludDMywqDCoCDCoMKgwqAgwqBua2V5cyA9 IFBHX0dFVEFSR19JTlQzMigzKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgLyogUEdf R0VUQVJHX1BPSU5URVIoNCk6IGV4dHJhX2RhdGEgLS0gbm90IHVzZWQgKi88L2Rpdj48ZGl2PivC oMKgIMKgYm9vbMKgwqAgwqAgwqAgKnJlY2hlY2sgPSAoYm9vbCAqKSBQR19HRVRBUkdfUE9JTlRF Uig1KTs8L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqDCoMKgIMKgcmVzdWx0ID0gZmFsc2U7 PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoGk7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rwqDCoCDCoCh2b2lkKSBlbGVtX3R5cGU7PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rwqDCoCDCoGlmIChzdHJhdCA9PSBBTllBUlJBWV9HSU5fQk9PTEVBTl9TVFJBVEVHWSk8L2Rp dj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBBbnlRdWVy eSDCoCAqcSA9IERhdHVtR2V0QW55UXVlcnlQKHF1ZXJ5RGF0dW0pOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgYm9vbMKgwqAgwqAgwqAgKnZhbHM7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBp bnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBrID0gMDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoCpyZWNoZWNrID0gZmFsc2U7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqBpZiAocS0mZ3Q7c2l6ZSAmbHQ7PSAwKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoFBHX1JFVFVSTl9CT09MKGZhbHNlKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoC8qIE1hcCBlYWNoIFZBTCBwb3N0Zml4IHNsb3QgdG8gaXRzIHBvc2l0aW9uIGlu IGNoZWNrW10uICovPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB2YWxzID0gKGJvb2wgKikgcGFs bG9jKHNpemVvZihib29sKSAqIHEtJmd0O3NpemUpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg Zm9yIChpID0gMDsgaSAmbHQ7IHEtJmd0O3NpemU7IGkrKyk8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGlmIChxLSZndDtp dGVtc1tpXS50eXBlID09IEFOWVFfVkFMKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqB2YWxzW2ldID0gY2hlY2tbaysrXTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoH08 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJlc3VsdCA9IGV2YWxfd2l0aF9jaGVjayhxLCBxLSZn dDtzaXplIC0gMSwgdmFscyk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBwZnJlZSh2YWxzKTs8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoFBHX1JFVFVSTl9CT09MKHJlc3VsdCk7PC9kaXY+PGRp dj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgc3dpdGNoIChzdHJhdCk8 L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBjYXNl IEFOWUFSUkFZX0dJTl9PVkVSTEFQX1NUUkFURUdZOjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoCpyZWNoZWNrID0gZmFsc2U7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgLyo8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAgKiBHSU4gZ3Vh cmFudGVlcyBhdCBsZWFzdCBvbmUgdHJ1ZSBlbnRyeSBvbiBlbnRyeTsgc2FmZSB0byBzYXk8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAgKiB5ZXM8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoMKgwqAgwqAgKi88L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBmb3IgKGkgPSAw OyBpICZsdDsgbmtleXM7IGkrKyk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqB7PCEt LSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgaWYgKGNoZWNrW2ld KTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoHJlc3VsdCA9IHRydWU7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoGNhc2UgQU5ZQVJSQVlfR0lOX0NPTlRBSU5FRF9TVFJBVEVHWTo8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAqcmVjaGVjayA9IHRydWU7PC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmVzdWx0ID0gdHJ1ZTvCoMKgIMKgwqDCoCDCoC8qIG11 c3QgYWx3YXlzIHJlY2hlY2sgKi88L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVh azs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGNhc2UgQU5ZQVJSQVlfR0lOX0VRVUFMX1NUUkFU RUdZOjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoCpyZWNoZWNrID0gdHJ1ZTs8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqByZXN1bHQgPSB0cnVlOzwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgwqDCoCDCoGZvciAoaSA9IDA7IGkgJmx0OyBua2V5czsgaSsrKTwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgwqDCoCDCoMKgwqAgwqBpZiAoIWNoZWNrW2ldKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoHJlc3VsdCA9IGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDC oCDCoMKgwqAgwqDCoMKgIMKgYnJlYWs7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgYnJlYWs7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBjYXNlIEFO WUFSUkFZX0dJTl9DT05UQUlOU19TVFJBVEVHWTo8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqAqcmVjaGVjayA9IGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoHJl c3VsdCA9IHRydWU7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgZm9yIChpID0gMDsg aSAmbHQ7IG5rZXlzOyBpKyspPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgezwhLS0g LS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoGlmICghY2hlY2tbaV0p PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoHs8IS0tIC0tPjwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgcmVzdWx0ID0gZmFsc2U7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoGRlZmF1bHQ6PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKg IMKgZWxvZyhFUlJPUiwgImFueWFycmF5X2dpbjogdW5rbm93biBzdHJhdGVneSBudW1iZXI6ICVk Iiwgc3RyYXQpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDC oCDCoFBHX1JFVFVSTl9CT09MKHJlc3VsdCk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqIMKgUGVy LXR5cGUgd3JhcHBlcnM8L2Rpdj48ZGl2PisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2Pisg Ki88L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2FueWFycmF5X2dpbl9l eHRyYWN0X3F1ZXJ5X2ludDgoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48 L2Rpdj48ZGl2PivCoMKgIMKgcmV0dXJuIGRvX2dpbl9leHRyYWN0X3F1ZXJ5KGZjaW5mbywgSU5U OE9JRCk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0RhdHVtPC9kaXY+PGRp dj4rYW55YXJyYXlfZ2luX2V4dHJhY3RfcXVlcnlfdXVpZChQR19GVU5DVElPTl9BUkdTKTwvZGl2 PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gZG9fZ2luX2V4dHJhY3Rf cXVlcnkoZmNpbmZvLCBVVUlET0lEKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rRGF0dW08L2Rpdj48ZGl2PithbnlhcnJheV9naW5fZXh0cmFjdF9xdWVyeV90ZXh0KFBHX0ZV TkNUSU9OX0FSR1MpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoHJldHVy biBkb19naW5fZXh0cmFjdF9xdWVyeShmY2luZm8sIFRFWFRPSUQpOzwvZGl2PjxkaXY+K308L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2FueWFycmF5X2dpbl9jb25zaXN0 ZW50X2ludDgoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2 PivCoMKgIMKgcmV0dXJuIGRvX2dpbl9jb25zaXN0ZW50KGZjaW5mbywgSU5UOE9JRCk7PC9kaXY+ PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0RhdHVtPC9kaXY+PGRpdj4rYW55YXJyYXlf Z2luX2NvbnNpc3RlbnRfdXVpZChQR19GVU5DVElPTl9BUkdTKTwvZGl2PjxkaXY+K3s8IS0tIC0t PjwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gZG9fZ2luX2NvbnNpc3RlbnQoZmNpbmZvLCBVVUlE T0lEKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rRGF0dW08L2Rpdj48ZGl2 PithbnlhcnJheV9naW5fY29uc2lzdGVudF90ZXh0KFBHX0ZVTkNUSU9OX0FSR1MpPC9kaXY+PGRp dj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoHJldHVybiBkb19naW5fY29uc2lzdGVudChm Y2luZm8sIFRFWFRPSUQpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2PmRpZmYgLS1naXQgYS9jb250 cmliL2FueWFycmF5L2FueWFycmF5X2dpc3QuYyBiL2NvbnRyaWIvYW55YXJyYXkvYW55YXJyYXlf Z2lzdC5jPC9kaXY+PGRpdj5uZXcgZmlsZSBtb2RlIDEwMDY0NDwvZGl2PjxkaXY+aW5kZXggMDAw MDAwMDAwMDAuLjg5NTcwYzYzZGVkPC9kaXY+PGRpdj4tLS0gL2Rldi9udWxsPC9kaXY+PGRpdj4r KysgYi9jb250cmliL2FueWFycmF5L2FueWFycmF5X2dpc3QuYzwvZGl2PjxkaXY+QEAgLTAsMCAr MSw3NDIgQEA8L2Rpdj48ZGl2PisvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgKjwvZGl2 PjxkaXY+KyAqIGFueWFycmF5X2dpc3QuYzwvZGl2PjxkaXY+KyAqwqDCoCDCoMKgwqAgwqBTaWdu YXR1cmUtYmFzZWQgR2lTVCBvcGNsYXNzIGZvciBhbnlhcnJheS48L2Rpdj48ZGl2PisgKjwvZGl2 PjxkaXY+KyAqIEVhY2ggaW5kZXhlZCBhcnJheSBpcyBzdW1tYXJpc2VkIGFzIGEgZml4ZWQtc2l6 ZSBiaXQgdmVjdG9yOyBlYWNoIGVsZW1lbnQ8L2Rpdj48ZGl2PisgKiBjb250cmlidXRlcyBhIHNp bmdsZSBiaXQgY2hvc2VuIGJ5IGl0cyBoYXNoIG1vZHVsbyB0aGUgc2lnbmF0dXJlIGxlbmd0aC48 L2Rpdj48ZGl2PisgKiBJbnRlcm5hbCBub2RlIGtleXMgYXJlIGJpdHdpc2UgdW5pb25zIG9mIHRo ZWlyIGNoaWxkcmVuLCB3aXRoIGFuPC9kaXY+PGRpdj4rICogQUxMSVNUUlVFIHNob3J0LWNpcmN1 aXQgd2hlbiBldmVyeSBiaXQgd291bGQgYmUgc2V0LjwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4r ICogVGhlIG9wY2xhc3Mgc3VwcG9ydHMgdGhlIGFycmF5IG9wZXJhdG9ycyAmYW1wOyZhbXA7LCBA Jmd0OywgJmx0O0AsID0gYW5kIHRoZSBhbnlhcnJheTwvZGl2PjxkaXY+KyAqIGV4dGVuc2lvbidz IEBAIG9wZXJhdG9yLiDCoEJlY2F1c2Ugc2lnbmF0dXJlcyBhcmUgbG9zc3ksIGFsbCBtYXRjaGVz IGFyZTwvZGl2PjxkaXY+KyAqIHJlY2hlY2tlZCBieSBHaVNULjwvZGl2PjxkaXY+KyAqPC9kaXY+ PGRpdj4rICogQ29weXJpZ2h0IChjKSAyMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVu dCBHcm91cDwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogSURFTlRJRklDQVRJT048L2Rpdj48 ZGl2PisgKsKgwqAgwqDCoMKgIMKgY29udHJpYi9hbnlhcnJheS9hbnlhcnJheV9naXN0LmM8L2Rp dj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqLzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNpbmNsdWRlICJwb3N0Z3Jlcy5oIjwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+KyNpbmNsdWRlICJhbnlhcnJheS5oIjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNp bmNsdWRlICJhY2Nlc3MvZ2lzdC5oIjwvZGl2PjxkaXY+KyNpbmNsdWRlICJhY2Nlc3MvcmVsb3B0 aW9ucy5oIjwvZGl2PjxkaXY+KyNpbmNsdWRlICJhY2Nlc3Mvc3RyYXRudW0uaCI8L2Rpdj48ZGl2 PisjaW5jbHVkZSAiY2F0YWxvZy9wZ19pbmRleC5oIjwvZGl2PjxkaXY+KyNpbmNsdWRlICJjYXRh bG9nL3BnX3R5cGUuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAibWlzY2FkbWluLmgiPC9kaXY+PGRp dj4rI2luY2x1ZGUgInBvcnQvcGdfYml0dXRpbHMuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAidXRp bHMvYXJyYXkuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCI8L2Rpdj48 ZGl2PisjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiPC9kaXY+PGRpdj4rI2luY2x1ZGUgInV0 aWxzL3JlbC5oIjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qIFN0cmF0ZWd5IG51bWJlcnM7IHNo YXJlIFItdHJlZSBjb252ZW50aW9ucyB3aGVyZSBhcHBsaWNhYmxlLiAqLzwvZGl2PjxkaXY+KyNk ZWZpbmUgQU5ZQVJSQVlfT1ZFUkxBUF9TVFJBVEVHWcKgwqAgwqDCoMKgIMKgMzwvZGl2PjxkaXY+ KyNkZWZpbmUgQU5ZQVJSQVlfQ09OVEFJTlNfU1RSQVRFR1nCoMKgIMKgwqDCoCDCoDc8L2Rpdj48 ZGl2PisjZGVmaW5lIEFOWUFSUkFZX0NPTlRBSU5FRF9TVFJBVEVHWcKgwqAgwqDCoMKgIMKgODwv ZGl2PjxkaXY+KyNkZWZpbmUgQU5ZQVJSQVlfRVFVQUxfU1RSQVRFR1nCoMKgIMKgwqDCoCDCoMKg wqAgwqAxODwvZGl2PjxkaXY+KyNkZWZpbmUgQU5ZQVJSQVlfQk9PTEVBTl9TVFJBVEVHWcKgwqAg wqDCoMKgIMKgMjA8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFu eWFycmF5X2dpc3Rfa2V5X2luKTs8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueWFy cmF5X2dpc3Rfa2V5X291dCk7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJh eV9naXN0X2NvbnNpc3RlbnQpOzwvZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lORk9fVjEoYW55YXJy YXlfZ2lzdF9jb21wcmVzcyk7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJh eV9naXN0X2RlY29tcHJlc3MpOzwvZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lORk9fVjEoYW55YXJy YXlfZ2lzdF91bmlvbik7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJheV9n aXN0X3NhbWUpOzwvZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lORk9fVjEoYW55YXJyYXlfZ2lzdF9w ZW5hbHR5KTs8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueWFycmF5X2dpc3RfcGlj a3NwbGl0KTs8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueWFycmF5X2dpc3Rfb3B0 aW9ucyk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tPC9kaXY+PGRpdj4rICogwqBTdG9yYWdlIHR5cGUgc3R1YnM8L2Rpdj48ZGl2PisgKjwvZGl2 PjxkaXY+KyAqIMKgVGhlIHNpZ25hdHVyZSBrZXkgaXMgb25seSBldmVyIGNvbnN0cnVjdGVkIGlu dGVybmFsbHkgYnkgdGhlIGluZGV4IEFNLDwvZGl2PjxkaXY+KyAqIMKgc28gaXRzIHRleHQgaW5w dXQvb3V0cHV0IGZ1bmN0aW9ucyByZWplY3QgYWxsIGNhbGxzIChtaXJyb3Jpbmc8L2Rpdj48ZGl2 PisgKiDCoGludGJpZ19na2V5IGluIGNvbnRyaWIvaW50YXJyYXkpLjwvZGl2PjxkaXY+KyAqIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0RhdHVt PC9kaXY+PGRpdj4rYW55YXJyYXlfZ2lzdF9rZXlfaW4oUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48 ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgZXJlcG9ydChFUlJPUiw8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NVUFBP UlRFRCksPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgIGVycm1zZygiY2Fubm90IGFj Y2VwdCBhIHZhbHVlIG9mIHR5cGUgJXMiLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgImFueWFycmF5X2dpc3Rfa2V5IikpKTs8L2Rpdj48ZGl2PivCoMKgIMKg UEdfUkVUVVJOX1ZPSUQoKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rRGF0 dW08L2Rpdj48ZGl2PithbnlhcnJheV9naXN0X2tleV9vdXQoUEdfRlVOQ1RJT05fQVJHUyk8L2Rp dj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgZXJlcG9ydChFUlJPUiw8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAoZXJyY29kZShFUlJDT0RFX0ZFQVRVUkVfTk9UX1NV UFBPUlRFRCksPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgIGVycm1zZygiY2Fubm90 IGRpc3BsYXkgYSB2YWx1ZSBvZiB0eXBlICVzIiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoCJhbnlhcnJheV9naXN0X2tleSIpKSk7PC9kaXY+PGRpdj4rwqDC oCDCoFBHX1JFVFVSTl9WT0lEKCk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ KzwvZGl2PjxkaXY+Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqIMKgU2lnbmF0dXJl IGhlbHBlcnM8L2Rpdj48ZGl2PisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgKi88L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PitzdGF0aWMgQW55QXJyYXlHaXN0S2V5ICo8L2Rpdj48ZGl2Pith bGxvY19rZXkoYm9vbCBhbGxpc3RydWUsIGludCBzaWdsZW4sIGNvbnN0IHVuc2lnbmVkIGNoYXIg KnNyYyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgaW50MzLCoMKgIMKg wqDCoCDCoGZsYWcgPSBhbGxpc3RydWUgPyBBTllBUlJBWV9BTExJU1RSVUUgOiAwOzwvZGl2Pjxk aXY+K8KgwqAgwqBTaXplwqDCoCDCoMKgwqAgwqBzaXplID0gQU5ZQVJSQVlfR0tFWV9TSVpFKGZs YWcsIHNpZ2xlbik7PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5R2lzdEtleSAqayA9IChBbnlB cnJheUdpc3RLZXkgKikgcGFsbG9jKHNpemUpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAg wqBTRVRfVkFSU0laRShrLCBzaXplKTs8L2Rpdj48ZGl2PivCoMKgIMKgay0mZ3Q7ZmxhZyA9IGZs YWc7PC9kaXY+PGRpdj4rwqDCoCDCoGlmICghYWxsaXN0cnVlKTwvZGl2PjxkaXY+K8KgwqAgwqB7 PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmIChzcmMpPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgbWVtY3B5KGstJmd0O2RhdGEsIHNyYywgc2lnbGVuKTs8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoGVsc2U8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBt ZW1zZXQoay0mZ3Q7ZGF0YSwgMCwgc2lnbGVuKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2Pjxk aXY+K8KgwqAgwqByZXR1cm4gazs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r Lyo8L2Rpdj48ZGl2PisgKiBTZXQgdGhlIGJpdCBjb3JyZXNwb25kaW5nIHRvICJ2YWwiIChhIGJ0 cmVlIGhhc2ggdmFsdWUpIGluICJzaWciLCBhIGJpdDwvZGl2PjxkaXY+KyAqIHZlY3RvciBvZiBs ZW5ndGggInNpZ2xlbiIgYnl0ZXMuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rc3RhdGljIGlu bGluZSB2b2lkPC9kaXY+PGRpdj4rc2V0X2JpdCh1bnNpZ25lZCBjaGFyICpzaWcsIHVpbnQzMiBo YXNodmFsLCBpbnQgc2lnbGVuKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAg wqB1aW50MzLCoMKgIMKgwqDCoCDCoGJpdCA9IGhhc2h2YWwgJSAoKHVpbnQzMikgc2lnbGVuICog QklUU19QRVJfQllURSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoHNpZ1tiaXQgLyBC SVRTX1BFUl9CWVRFXSB8PSAoMVUgJmx0OyZsdDsgKGJpdCAlIEJJVFNfUEVSX0JZVEUpKTs8L2Rp dj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rc3RhdGljIGlubGluZSBib29sPC9kaXY+ PGRpdj4rZ2V0X2JpdChjb25zdCB1bnNpZ25lZCBjaGFyICpzaWcsIHVpbnQzMiBoYXNodmFsLCBp bnQgc2lnbGVuKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqB1aW50MzLC oMKgIMKgwqDCoCDCoGJpdCA9IGhhc2h2YWwgJSAoKHVpbnQzMikgc2lnbGVuICogQklUU19QRVJf QllURSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoHJldHVybiAoc2lnW2JpdCAvIEJJ VFNfUEVSX0JZVEVdICZndDsmZ3Q7IChiaXQgJSBCSVRTX1BFUl9CWVRFKSkgJmFtcDsgMTs8L2Rp dj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBIYXNoIGEg c2luZ2xlIERhdHVtIG9mIHRoZSBnaXZlbiBlbGVtZW50IHR5cGUsIHJldHVybmluZyBhbiB1bnNp Z25lZCAzMi1iaXQ8L2Rpdj48ZGl2PisgKiB2YWx1ZSBzdWl0YWJsZSBmb3IgaW5kZXhpbmcgdGhl IGJpdCB2ZWN0b3IuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rc3RhdGljIHVpbnQzMjwvZGl2 PjxkaXY+K2hhc2hfZWxlbShBbnlBcnJheVR5cGVJbmZvICptZXRhLCBEYXR1bSB2YWx1ZSk8L2Rp dj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKgwqDCoCDCoGgg PSBGdW5jdGlvbkNhbGwxQ29sbCgmYW1wO21ldGEtJmd0O2hhc2hfcHJvYywgbWV0YS0mZ3Q7dHlw Y29sbGF0aW9uLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoHZhbHVlKTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PivCoMKgIMKgcmV0dXJuICh1aW50MzIpIERhdHVtR2V0SW50MzIoaCk7PC9kaXY+PGRpdj4r fTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICogSGFzaCBlYWNoIGVsZW1l bnQgb2YgImFyciIgaW50byAic2lnIi4gwqBUaGUgbWV0YWRhdGEgbXVzdCBoYXZlIGEgdmFsaWQ8 L2Rpdj48ZGl2PisgKiBoYXNoX3Byb2MgKHVzZSBhbnlhcnJheV9nZXRfbWV0YSguLi4sIHRydWUp KS48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2PitzdGF0aWMgdm9pZDwvZGl2PjxkaXY+K2hhc2hf YXJyYXlfaW50byh1bnNpZ25lZCBjaGFyICpzaWcsIGludCBzaWdsZW4sPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoEFycmF5VHlwZSAqYXJyLCBBbnlBcnJheVR5cGVJbmZv ICptZXRhKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBEYXR1bcKgwqAg wqAgwqAgKnZhbHVlczs8L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqAgwqAgKm51bGxzOzwv ZGl2PjxkaXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBuZWxlbXM7PC9kaXY+PGRp dj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoGk7PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rwqDCoCDCoGlmIChBUlJfTkRJTShhcnIpID09IDApPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqByZXR1cm47PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGRlY29uc3RydWN0X2FycmF5 KGFyciwgbWV0YS0mZ3Q7ZWxlbWVudF90eXBlLCBtZXRhLSZndDt0eXBsZW4sPC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBtZXRhLSZndDt0eXBieXZhbCwg bWV0YS0mZ3Q7dHlwYWxpZ24sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqAgwqAmYW1wO3ZhbHVlcywgJmFtcDtudWxscywgJmFtcDtuZWxlbXMpOzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBmb3IgKGkgPSAwOyBpICZsdDsgbmVsZW1zOyBpKyspPC9k aXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKCFu dWxsc1tpXSk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBzZXRfYml0KHNpZywgaGFz aF9lbGVtKG1ldGEsIHZhbHVlc1tpXSksIHNpZ2xlbik7PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgcGZyZWUodmFsdWVzKTs8L2Rpdj48ZGl2PivCoMKg IMKgcGZyZWUobnVsbHMpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKiBD b3VudCAiMSIgYml0cyBpbiBhIGJ1ZmZlciBvZiAibiIgYnl0ZXMuICovPC9kaXY+PGRpdj4rc3Rh dGljIGludDwvZGl2PjxkaXY+K3BvcGNvdW50X2J5dGVzKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAs IGludCBuKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gcGdf cG9wY291bnQoKGNvbnN0IGNoYXIgKikgcCwgbik7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqIMKg Y29tcHJlc3MgLyBkZWNvbXByZXNzPC9kaXY+PGRpdj4rICogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+ PGRpdj4rICovPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rRGF0dW08L2Rpdj48ZGl2PithbnlhcnJh eV9naXN0X2NvbXByZXNzKFBHX0ZVTkNUSU9OX0FSR1MpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9k aXY+PGRpdj4rwqDCoCDCoEdJU1RFTlRSWSDCoCplbnRyeSA9IChHSVNURU5UUlkgKikgUEdfR0VU QVJHX1BPSU5URVIoMCk7PC9kaXY+PGRpdj4rwqDCoCDCoEdJU1RFTlRSWSDCoCpyZXR2YWwgPSBl bnRyeTs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgc2lnbGVuID0g QU5ZQVJSQVlfR0VUX1NJR0xFTigpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAo ZW50cnktJmd0O2xlYWZrZXkpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+ K8KgwqAgwqDCoMKgIMKgQXJyYXlUeXBlIMKgKmFyciA9IERhdHVtR2V0QXJyYXlUeXBlUChlbnRy eS0mZ3Q7a2V5KTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoEFueUFycmF5R2lzdEtleSAqa2V5 OzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgQW55QXJyYXlUeXBlSW5mbyAqbWV0YTs8L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoEFOWUFSUkFZX0NIRUNLX0FSUkFZKGFycik7 PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBtZXRhID0gYW55YXJyYXlfZ2V0 X21ldGEoZmNpbmZvLCBBUlJfRUxFTVRZUEUoYXJyKSwgdHJ1ZSk7PC9kaXY+PGRpdj4rPC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqBrZXkgPSBhbGxvY19rZXkoZmFsc2UsIHNpZ2xlbiwgTlVMTCk7 PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBoYXNoX2FycmF5X2ludG8oQU5ZQVJSQVlfR0tFWV9T SUdOKGtleSksIHNpZ2xlbiwgYXJyLCBtZXRhKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoHJldHZhbCA9IChHSVNURU5UUlkgKikgcGFsbG9jKHNpemVvZihHSVNURU5UUlkp KTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGdpc3RlbnRyeWluaXQoKnJldHZhbCwgUG9pbnRl ckdldERhdHVtKGtleSksIGVudHJ5LSZndDtyZWwsIGVudHJ5LSZndDtwYWdlLDwvZGl2PjxkaXY+ K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgZW50cnktJmd0O29mZnNldCwg ZmFsc2UpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2UgaWYgKCFB TllBUlJBWV9HS0VZX0lTQUxMVFJVRShEYXR1bUdldFBvaW50ZXIoZW50cnktJmd0O2tleSkpKTwv ZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoEFueUFy cmF5R2lzdEtleSAqayA9IChBbnlBcnJheUdpc3RLZXkgKikgRGF0dW1HZXRQb2ludGVyKGVudHJ5 LSZndDtrZXkpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgLyo8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoCAqIElmIGV2ZXJ5IGJpdCBoYXBwZW5zIHRvIGJlIHNldCwgc3dp dGNoIHRvIEFMTElTVFJVRSBzdG9yYWdlIHNvPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqAgKiBz dWJzZXF1ZW50IG9wZXJhdGlvbnMgZG9uJ3QgaGF2ZSB0byBjb21wYXJlIGEgZnVsbCBiaXQgdmVj dG9yLjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgICovPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqBpZiAocG9wY291bnRfYnl0ZXMoQU5ZQVJSQVlfR0tFWV9TSUdOKGspLCBzaWdsZW4pID09PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgc2lnbGVuICogQklUU19QRVJfQllURSk8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoEFueUFycmF5R2lzdEtleSAqciA9IGFsbG9jX2tleSh0cnVlLCBzaWdsZW4sIE5VTEwp OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoHJldHZhbCA9IChH SVNURU5UUlkgKikgcGFsbG9jKHNpemVvZihHSVNURU5UUlkpKTs8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqBnaXN0ZW50cnlpbml0KCpyZXR2YWwsIFBvaW50ZXJHZXREYXR1bShyKSwg ZW50cnktJmd0O3JlbCwgZW50cnktJmd0O3BhZ2UsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgZW50cnktJmd0O29mZnNldCwgZmFsc2UpOzwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rwqDCoCDCoFBHX1JFVFVSTl9QT0lOVEVSKHJldHZhbCk7PC9kaXY+PGRpdj4r fTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0RhdHVtPC9kaXY+PGRpdj4rYW55YXJyYXlfZ2lzdF9k ZWNvbXByZXNzKFBHX0ZVTkNUSU9OX0FSR1MpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRp dj4rwqDCoCDCoFBHX1JFVFVSTl9QT0lOVEVSKFBHX0dFVEFSR19QT0lOVEVSKDApKTs8L2Rpdj48 ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyogLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tPC9kaXY+PGRpdj4rICogwqB1bmlvbiAvIHNhbWUgLyBwZW5hbHR5IC8gcGlja3NwbGl0IC8g b3B0aW9uczwvZGl2PjxkaXY+KyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqLzwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+K0RhdHVtPC9kaXY+PGRpdj4rYW55YXJyYXlfZ2lzdF91bmlvbihQ R19GVU5DVElPTl9BUkdTKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBH aXN0RW50cnlWZWN0b3IgKmVudHJ5dmVjID0gKEdpc3RFbnRyeVZlY3RvciAqKSBQR19HRVRBUkdf UE9JTlRFUigwKTs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqAgwqAgKnNpemVw ID0gKGludCAqKSBQR19HRVRBUkdfUE9JTlRFUigxKTs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDC oCDCoMKgwqAgwqDCoMKgIMKgc2lnbGVuID0gQU5ZQVJSQVlfR0VUX1NJR0xFTigpOzwvZGl2Pjxk aXY+K8KgwqAgwqBBbnlBcnJheUdpc3RLZXkgKm91dDs8L2Rpdj48ZGl2PivCoMKgIMKgdW5zaWdu ZWQgY2hhciAqc2lnOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBu ID0gZW50cnl2ZWMtJmd0O247PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDC oCDCoGk7PC9kaXY+PGRpdj4rwqDCoCDCoGJvb2zCoMKgIMKgwqDCoCDCoGFsbCA9IGZhbHNlOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBvdXQgPSBhbGxvY19rZXkoZmFsc2UsIHNpZ2xl biwgTlVMTCk7PC9kaXY+PGRpdj4rwqDCoCDCoHNpZyA9IEFOWUFSUkFZX0dLRVlfU0lHTihvdXQp OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBmb3IgKGkgPSAwOyBpICZsdDsgbjsgaSsr KTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoEFu eUFycmF5R2lzdEtleSAqayA9IChBbnlBcnJheUdpc3RLZXkgKik8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqBEYXR1bUdldFBvaW50ZXIoZW50cnl2ZWMtJmd0O3ZlY3RvcltpXS5rZXkp OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKEFOWUFSUkFZX0dLRVlf SVNBTExUUlVFKGspKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgYWxsID0gdHJ1ZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoMKgwqAgwqBicmVhazs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoH08L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoGZvciAoaW50IGogPSAwOyBqICZsdDsgc2lnbGVuOyBqKyspPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgc2lnW2pdIHw9IEFOWUFSUkFZX0dLRVlfU0lHTihrKVtq XTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAo YWxsIHx8IHBvcGNvdW50X2J5dGVzKHNpZywgc2lnbGVuKSA9PSBzaWdsZW4gKiBCSVRTX1BFUl9C WVRFKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oHBmcmVlKG91dCk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBvdXQgPSBhbGxvY19rZXkodHJ1 ZSwgc2lnbGVuLCBOVUxMKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+KzwvZGl2Pjxk aXY+K8KgwqAgwqAqc2l6ZXAgPSBWQVJTSVpFKG91dCk7PC9kaXY+PGRpdj4rwqDCoCDCoFBHX1JF VFVSTl9QT0lOVEVSKG91dCk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0Rh dHVtPC9kaXY+PGRpdj4rYW55YXJyYXlfZ2lzdF9zYW1lKFBHX0ZVTkNUSU9OX0FSR1MpPC9kaXY+ PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5R2lzdEtleSAqYSA9IChB bnlBcnJheUdpc3RLZXkgKikgUEdfR0VUQVJHX1BPSU5URVIoMCk7PC9kaXY+PGRpdj4rwqDCoCDC oEFueUFycmF5R2lzdEtleSAqYiA9IChBbnlBcnJheUdpc3RLZXkgKikgUEdfR0VUQVJHX1BPSU5U RVIoMSk7PC9kaXY+PGRpdj4rwqDCoCDCoGJvb2zCoMKgIMKgIMKgICpyZXN1bHQgPSAoYm9vbCAq KSBQR19HRVRBUkdfUE9JTlRFUigyKTs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAg wqDCoMKgIMKgc2lnbGVuID0gQU5ZQVJSQVlfR0VUX1NJR0xFTigpOzwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K8KgwqAgwqBpZiAoQU5ZQVJSQVlfR0tFWV9JU0FMTFRSVUUoYSkgfHwgQU5ZQVJSQVlf R0tFWV9JU0FMTFRSVUUoYikpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqAqcmVzdWx0ID0gQU5Z QVJSQVlfR0tFWV9JU0FMTFRSVUUoYSkgJmFtcDsmYW1wOyBBTllBUlJBWV9HS0VZX0lTQUxMVFJV RShiKTs8L2Rpdj48ZGl2PivCoMKgIMKgZWxzZTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKnJl c3VsdCA9IChtZW1jbXAoQU5ZQVJSQVlfR0tFWV9TSUdOKGEpLCBBTllBUlJBWV9HS0VZX1NJR04o YiksPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg IMKgc2lnbGVuKSA9PSAwKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgUEdfUkVUVVJO X1BPSU5URVIocmVzdWx0KTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8 L2Rpdj48ZGl2PisgKiBIYW1taW5nIHdlaWdodCBvZiAob3JpZyBPUiBuZXcpIC0gSGFtbWluZyB3 ZWlnaHQgb2Ygb3JpZzogdGhlIG51bWJlciBvZjwvZGl2PjxkaXY+KyAqIG5ldyBiaXRzIGEgY2hp bGQgd291bGQgaW50cm9kdWNlLiDCoEFMTElTVFJVRSBlbnRyaWVzIGhhdmUgdGhlIG1heGltdW08 L2Rpdj48ZGl2PisgKiBwb3NzaWJsZSB3ZWlnaHQgKHNpZ2xlbio4KSBzbyB0aGUgYW5zd2VyIGlz IDAuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rRGF0dW08L2Rpdj48ZGl2PithbnlhcnJheV9n aXN0X3BlbmFsdHkoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48 ZGl2PivCoMKgIMKgR0lTVEVOVFJZIMKgKm9yaWdlbnRyeSA9IChHSVNURU5UUlkgKikgUEdfR0VU QVJHX1BPSU5URVIoMCk7PC9kaXY+PGRpdj4rwqDCoCDCoEdJU1RFTlRSWSDCoCpuZXdlbnRyeSA9 IChHSVNURU5UUlkgKikgUEdfR0VUQVJHX1BPSU5URVIoMSk7PC9kaXY+PGRpdj4rwqDCoCDCoGZs b2F0wqDCoCDCoCDCoCAqcGVuYWx0eSA9IChmbG9hdCAqKSBQR19HRVRBUkdfUE9JTlRFUigyKTs8 L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgc2lnbGVuID0gQU5ZQVJS QVlfR0VUX1NJR0xFTigpOzwvZGl2PjxkaXY+K8KgwqAgwqBBbnlBcnJheUdpc3RLZXkgKm9yaWcg PSAoQW55QXJyYXlHaXN0S2V5ICopIERhdHVtR2V0UG9pbnRlcihvcmlnZW50cnktJmd0O2tleSk7 PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5R2lzdEtleSAqbmV3XyA9IChBbnlBcnJheUdpc3RL ZXkgKikgRGF0dW1HZXRQb2ludGVyKG5ld2VudHJ5LSZndDtrZXkpOzwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K8KgwqAgwqBpZiAoQU5ZQVJSQVlfR0tFWV9JU0FMTFRSVUUob3JpZykpPC9kaXY+PGRp dj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKnBlbmFsdHkgPSAw LjA7PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgZWxzZSBpZiAoQU5ZQVJS QVlfR0tFWV9JU0FMTFRSVUUobmV3XykpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgb3JpZ19iaXRzID0g cG9wY291bnRfYnl0ZXMoQU5ZQVJSQVlfR0tFWV9TSUdOKG9yaWcpLCBzaWdsZW4pOzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKnBlbmFsdHkgPSAoZmxvYXQpIChzaWdsZW4g KiBCSVRTX1BFUl9CWVRFIC0gb3JpZ19iaXRzKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2Pjxk aXY+K8KgwqAgwqBlbHNlPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgdW5zaWduZWQgY2hhciAqbyA9IEFOWUFSUkFZX0dLRVlfU0lHTihvcmlnKTs8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHVuc2lnbmVkIGNoYXIgKm4gPSBBTllBUlJBWV9HS0VZ X1NJR04obmV3Xyk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKg wqAgwqBhZGRlZCA9IDA7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBmb3Ig KGludCBpID0gMDsgaSAmbHQ7IHNpZ2xlbjsgaSsrKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg ezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgdW5zaWduZWQgY2hhciBl eHRyYSA9IG5baV0gJmFtcDsgfm9baV07PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgYWRkZWQgKz0gcGdfbnVtYmVyX29mX29uZXNbZXh0cmFdOzwvZGl2PjxkaXY+ K8KgwqAgwqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKnBlbmFsdHkgPSAoZmxv YXQpIGFkZGVkOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDC oCDCoFBHX1JFVFVSTl9QT0lOVEVSKHBlbmFsdHkpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIFN0YW5kYXJkIHNpZ25hdHVyZSBwaWNrc3BsaXQ6 IHNvcnQgZW50cmllcyBieSBIYW1taW5nIHdlaWdodCBhbmQgc3BsaXQ8L2Rpdj48ZGl2PisgKiBk b3duIHRoZSBtaWRkbGUuIMKgVGhpcyBpc24ndCBvcHRpbWFsIGJ1dCBpcyBjb3JyZWN0IGFuZCBi YWxhbmNlZDsgdGhlPC9kaXY+PGRpdj4rICogZmFuY2llciBHdXR0bWFuLXN0eWxlIHNwbGl0cyB1 c2VkIGJ5IGludGJpZyBjYW4gYmUgYWRkZWQgbGF0ZXIuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRp dj4rdHlwZWRlZiBzdHJ1Y3QgUGlja1NwbGl0RW50cnk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rp dj48ZGl2PivCoMKgIMKgT2Zmc2V0TnVtYmVyIG9mZnNldDs8L2Rpdj48ZGl2PivCoMKgIMKgaW50 wqDCoCDCoMKgwqAgwqDCoMKgIMKgd2VpZ2h0OzwvZGl2PjxkaXY+K30gUGlja1NwbGl0RW50cnk7 PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rc3RhdGljIGludDwvZGl2PjxkaXY+K3BzcGxpdF9jbXAo Y29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYik8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48 ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgd2EgPSAoKGNvbnN0IFBpY2tTcGxp dEVudHJ5ICopIGEpLSZndDt3ZWlnaHQ7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKg IMKgwqDCoCDCoHdiID0gKChjb25zdCBQaWNrU3BsaXRFbnRyeSAqKSBiKS0mZ3Q7d2VpZ2h0Ozwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gKHdhICZndDsgd2IpIC0gKHdhICZs dDsgd2IpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitzdGF0aWMgdm9pZDwv ZGl2PjxkaXY+K29yX2ludG8odW5zaWduZWQgY2hhciAqZHN0LCBjb25zdCB1bnNpZ25lZCBjaGFy ICpzcmMsIGludCBzaWdsZW4pPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDC oGZvciAoaW50IGkgPSAwOyBpICZsdDsgc2lnbGVuOyBpKyspPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqBkc3RbaV0gfD0gc3JjW2ldOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PitEYXR1bTwvZGl2PjxkaXY+K2FueWFycmF5X2dpc3RfcGlja3NwbGl0KFBHX0ZVTkNUSU9OX0FS R1MpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoEdpc3RFbnRyeVZlY3Rv ciAqZW50cnl2ZWMgPSAoR2lzdEVudHJ5VmVjdG9yICopIFBHX0dFVEFSR19QT0lOVEVSKDApOzwv ZGl2PjxkaXY+K8KgwqAgwqBHSVNUX1NQTElUVkVDICp2ID0gKEdJU1RfU1BMSVRWRUMgKikgUEdf R0VUQVJHX1BPSU5URVIoMSk7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDC oCDCoHNpZ2xlbiA9IEFOWUFSUkFZX0dFVF9TSUdMRU4oKTs8L2Rpdj48ZGl2PivCoMKgIMKgaW50 wqDCoCDCoMKgwqAgwqDCoMKgIMKgbiA9IGVudHJ5dmVjLSZndDtuIC0gMTvCoMKgIMKgLyogZW50 cmllcyBzdGFydCBhdCBpbmRleCAxICovPC9kaXY+PGRpdj4rwqDCoCDCoFBpY2tTcGxpdEVudHJ5 ICppdGVtczs8L2Rpdj48ZGl2PivCoMKgIMKgQW55QXJyYXlHaXN0S2V5ICpsZWZ0LDwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoCAqcmlnaHQ7PC9kaXY+PGRpdj4rwqDCoCDCoGlu dMKgwqAgwqDCoMKgIMKgwqDCoCDCoGk7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKg IMKgwqDCoCDCoHNwbGl0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpdGVtcyA9IChQ aWNrU3BsaXRFbnRyeSAqKSBwYWxsb2MobiAqIHNpemVvZihQaWNrU3BsaXRFbnRyeSkpOzwvZGl2 PjxkaXY+K8KgwqAgwqBmb3IgKGkgPSAwOyBpICZsdDsgbjsgaSsrKTwvZGl2PjxkaXY+K8KgwqAg wqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoEFueUFycmF5R2lzdEtleSAqayA9 IChBbnlBcnJheUdpc3RLZXkgKik8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBEYXR1 bUdldFBvaW50ZXIoZW50cnl2ZWMtJmd0O3ZlY3RvcltpICsgMV0ua2V5KTs8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGl0ZW1zW2ldLm9mZnNldCA9IChPZmZzZXROdW1iZXIp IChpICsgMSk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpdGVtc1tpXS53ZWlnaHQgPSBBTllB UlJBWV9HS0VZX0lTQUxMVFJVRShrKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoD8g c2lnbGVuICogQklUU19QRVJfQllURTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoDog cG9wY291bnRfYnl0ZXMoQU5ZQVJSQVlfR0tFWV9TSUdOKGspLCBzaWdsZW4pOzwvZGl2PjxkaXY+ K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoHFzb3J0KGl0ZW1zLCBuLCBzaXplb2YoUGlja1Nw bGl0RW50cnkpLCBwc3BsaXRfY21wKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgdi0m Z3Q7c3BsX2xlZnQgPSAoT2Zmc2V0TnVtYmVyICopIHBhbGxvYyhuICogc2l6ZW9mKE9mZnNldE51 bWJlcikpOzwvZGl2PjxkaXY+K8KgwqAgwqB2LSZndDtzcGxfcmlnaHQgPSAoT2Zmc2V0TnVtYmVy ICopIHBhbGxvYyhuICogc2l6ZW9mKE9mZnNldE51bWJlcikpOzwvZGl2PjxkaXY+K8KgwqAgwqB2 LSZndDtzcGxfbmxlZnQgPSAwOzwvZGl2PjxkaXY+K8KgwqAgwqB2LSZndDtzcGxfbnJpZ2h0ID0g MDs8L2Rpdj48ZGl2PivCoMKgIMKgbGVmdCA9IGFsbG9jX2tleShmYWxzZSwgc2lnbGVuLCBOVUxM KTs8L2Rpdj48ZGl2PivCoMKgIMKgcmlnaHQgPSBhbGxvY19rZXkoZmFsc2UsIHNpZ2xlbiwgTlVM TCk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoHNwbGl0ID0gbiAvIDI7PC9kaXY+PGRp dj4rwqDCoCDCoGlmIChzcGxpdCA9PSAwKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgc3BsaXQg PSAxOzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoc3BsaXQgPT0gbik8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoHNwbGl0ID0gbiAtIDE7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGZvciAo aSA9IDA7IGkgJmx0OyBzcGxpdDsgaSsrKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoEFueUFycmF5R2lzdEtleSAqayA9IChBbnlBcnJheUdpc3RL ZXkgKik8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBEYXR1bUdldFBvaW50ZXIoZW50 cnl2ZWMtJmd0O3ZlY3RvcltpdGVtc1tpXS5vZmZzZXRdLmtleSk7PC9kaXY+PGRpdj4rPC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqB2LSZndDtzcGxfbGVmdFt2LSZndDtzcGxfbmxlZnQrK10gPSBp dGVtc1tpXS5vZmZzZXQ7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoQU5ZQVJSQVlfR0tF WV9JU0FMTFRSVUUoaykpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBwZnJlZShsZWZ0KTs8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqBsZWZ0ID0gYWxsb2Nfa2V5KHRydWUsIHNpZ2xlbiwgTlVMTCk7PC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBlbHNlIGlmICgh QU5ZQVJSQVlfR0tFWV9JU0FMTFRSVUUobGVmdCkpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDC oMKgIMKgb3JfaW50byhBTllBUlJBWV9HS0VZX1NJR04obGVmdCksIEFOWUFSUkFZX0dLRVlfU0lH TihrKSwgc2lnbGVuKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqBmb3Ig KDsgaSAmbHQ7IG47IGkrKyk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqBBbnlBcnJheUdpc3RLZXkgKmsgPSAoQW55QXJyYXlHaXN0S2V5ICopPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgRGF0dW1HZXRQb2ludGVyKGVudHJ5dmVjLSZn dDt2ZWN0b3JbaXRlbXNbaV0ub2Zmc2V0XS5rZXkpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgdi0mZ3Q7c3BsX3JpZ2h0W3YtJmd0O3NwbF9ucmlnaHQrK10gPSBpdGVtc1tp XS5vZmZzZXQ7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoQU5ZQVJSQVlfR0tFWV9JU0FM TFRSVUUoaykpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoMKgwqAgwqBwZnJlZShyaWdodCk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqDCoMKgIMKgcmlnaHQgPSBhbGxvY19rZXkodHJ1ZSwgc2lnbGVuLCBOVUxMKTs8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVsc2UgaWYgKCFBTllB UlJBWV9HS0VZX0lTQUxMVFJVRShyaWdodCkpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKg IMKgb3JfaW50byhBTllBUlJBWV9HS0VZX1NJR04ocmlnaHQpLCBBTllBUlJBWV9HS0VZX1NJR04o ayksIHNpZ2xlbik7PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivC oMKgIMKgdi0mZ3Q7c3BsX2xkYXR1bSA9IFBvaW50ZXJHZXREYXR1bShsZWZ0KTs8L2Rpdj48ZGl2 PivCoMKgIMKgdi0mZ3Q7c3BsX3JkYXR1bSA9IFBvaW50ZXJHZXREYXR1bShyaWdodCk7PC9kaXY+ PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoHBmcmVlKGl0ZW1zKTs8L2Rpdj48ZGl2PivCoMKgIMKg UEdfUkVUVVJOX1BPSU5URVIodik7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ Ky8qIG9wY2xhc3Mgb3B0aW9uczoganVzdCB0aGUgc2lnbmF0dXJlIGxlbmd0aCwgaW4gYnl0ZXMg Ki88L2Rpdj48ZGl2PitzdGF0aWMgdm9pZDwvZGl2PjxkaXY+K2ZpbGxfc2lnbGVuX2RlZmF1bHQo aW50ICpzaWdsZW4pPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoCpzaWds ZW4gPSBBTllBUlJBWV9TSUdMRU5fREVGQVVMVDs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rRGF0dW08L2Rpdj48ZGl2PithbnlhcnJheV9naXN0X29wdGlvbnMoUEdfRlVOQ1RJ T05fQVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgbG9jYWxfcmVs b3B0cyAqcmVsb3B0cyA9IChsb2NhbF9yZWxvcHRzICopIFBHX0dFVEFSR19QT0lOVEVSKDApOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpbml0X2xvY2FsX3JlbG9wdGlvbnMocmVsb3B0 cywgc2l6ZW9mKEFueUFycmF5R2lzdE9wdGlvbnMpKTs8L2Rpdj48ZGl2PivCoMKgIMKgYWRkX2xv Y2FsX2ludF9yZWxvcHRpb24ocmVsb3B0cywgInNpZ2xlbiIsPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCJzaWduYXR1cmUgbGVuZ3Ro IGluIGJ5dGVzIiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgQU5ZQVJSQVlfU0lHTEVOX0RFRkFVTFQsIDEsIEFOWUFSUkFZX1NJR0xF Tl9NQVgsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoG9mZnNldG9mKEFueUFycmF5R2lzdE9wdGlvbnMsIHNpZ2xlbikpOzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K8KgwqAgwqAodm9pZCkgZmlsbF9zaWdsZW5fZGVmYXVsdDs8L2Rpdj48 ZGl2PivCoMKgIMKgUEdfUkVUVVJOX1ZPSUQoKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rPC9kaXY+PGRpdj4rLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICogwqBj b25zaXN0ZW50PC9kaXY+PGRpdj4rICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICovPC9k aXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBGb3Igb3ZlcmxhcDogYW55IHNp bmdsZSBtYXRjaGluZyBiaXQgbWVhbnMgdGhlIGtleSBNSUdIVCBjb250YWluIHNvbWV0aGluZzwv ZGl2PjxkaXY+KyAqIHRoZSBxdWVyeSByZWZlcmVuY2VzLiDCoFJldHVybnMgdHJ1ZSBpZiBhdCBs ZWFzdCBvbmUgZWxlbWVudCBvZiAicXVlcnkiPC9kaXY+PGRpdj4rICogaGFzaGVzIHRvIGEgc2V0 IGJpdCBpbiAic2lnIjsgQUxMSVNUUlVFIGtleXMgdHJpdmlhbGx5IHBhc3MuPC9kaXY+PGRpdj4r ICovPC9kaXY+PGRpdj4rc3RhdGljIGJvb2w8L2Rpdj48ZGl2PitzaWdfb3ZlcmxhcF9hcnJheShj b25zdCB1bnNpZ25lZCBjaGFyICpzaWcsIGludCBzaWdsZW4sPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoCDCoEFycmF5VHlwZSAqcXVlcnksIEFueUFycmF5VHlwZUluZm8g Km1ldGEpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDC oCDCoCAqdmFsdWVzOzwvZGl2PjxkaXY+K8KgwqAgwqBib29swqDCoCDCoCDCoCAqbnVsbHM7PC9k aXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG5lbGVtczs8L2Rpdj48ZGl2 PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgaTs8L2Rpdj48ZGl2PivCoMKgIMKgYm9v bMKgwqAgwqDCoMKgIMKgZm91bmQgPSBmYWxzZTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgaWYgKEFSUl9ORElNKHF1ZXJ5KSA9PSAwKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcmV0 dXJuIGZhbHNlOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBkZWNvbnN0cnVjdF9hcnJh eShxdWVyeSwgbWV0YS0mZ3Q7ZWxlbWVudF90eXBlLCBtZXRhLSZndDt0eXBsZW4sPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBtZXRhLSZndDt0eXBieXZh bCwgbWV0YS0mZ3Q7dHlwYWxpZ24sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoMKgwqAgwqAgwqAmYW1wO3ZhbHVlcywgJmFtcDtudWxscywgJmFtcDtuZWxlbXMpOzwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBmb3IgKGkgPSAwOyBpICZsdDsgbmVsZW1zOyBpKysp PC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYg KG51bGxzW2ldKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGNvbnRpbnVlOzwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKGdldF9iaXQoc2lnLCBoYXNoX2VsZW0obWV0YSwgdmFs dWVzW2ldKSwgc2lnbGVuKSk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHs8IS0tIC0tPjwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGZvdW5kID0gdHJ1ZTs8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoH08L2Rpdj48 ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqBwZnJlZSh2YWx1ZXMpOzwvZGl2PjxkaXY+ K8KgwqAgwqBwZnJlZShudWxscyk7PC9kaXY+PGRpdj4rwqDCoCDCoHJldHVybiBmb3VuZDs8L2Rp dj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBGb3IgY29u dGFpbnM6IGV2ZXJ5IGVsZW1lbnQgb2YgdGhlIHF1ZXJ5IG11c3QgaGFzaCB0byBhIHNldCBiaXQu PC9kaXY+PGRpdj4rICogSWYgYW55IHJlcXVpcmVkIGJpdCBpcyBtaXNzaW5nIHRoZSBrZXkgY2Fu bm90IGNvbnRhaW4gdGhlIHF1ZXJ5LjwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K3N0YXRpYyBi b29sPC9kaXY+PGRpdj4rc2lnX2NvbnRhaW5zX2FycmF5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnNp ZywgaW50IHNpZ2xlbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKg IEFycmF5VHlwZSAqcXVlcnksIEFueUFycmF5VHlwZUluZm8gKm1ldGEpPC9kaXY+PGRpdj4rezwh LS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoCDCoCAqdmFsdWVzOzwvZGl2Pjxk aXY+K8KgwqAgwqBib29swqDCoCDCoCDCoCAqbnVsbHM7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKg wqAgwqDCoMKgIMKgwqDCoCDCoG5lbGVtczs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKg wqAgwqDCoMKgIMKgaTs8L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqDCoMKgIMKgb2sgPSB0 cnVlOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoQVJSX05ESU0ocXVlcnkpID09 IDApPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gdHJ1ZTs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PivCoMKgIMKgZGVjb25zdHJ1Y3RfYXJyYXkocXVlcnksIG1ldGEtJmd0O2VsZW1lbnRf dHlwZSwgbWV0YS0mZ3Q7dHlwbGVuLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgIMKgbWV0YS0mZ3Q7dHlwYnl2YWwsIG1ldGEtJmd0O3R5cGFsaWduLDwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgJmFtcDt2YWx1ZXMs ICZhbXA7bnVsbHMsICZhbXA7bmVsZW1zKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKg Zm9yIChpID0gMDsgaSAmbHQ7IG5lbGVtczsgaSsrKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAt LT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmIChudWxsc1tpXSk8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoMKgwqAgwqBjb250aW51ZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGlmICgh Z2V0X2JpdChzaWcsIGhhc2hfZWxlbShtZXRhLCB2YWx1ZXNbaV0pLCBzaWdsZW4pKTwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKg IMKgb2sgPSBmYWxzZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8Kg wqAgwqBwZnJlZSh2YWx1ZXMpOzwvZGl2PjxkaXY+K8KgwqAgwqBwZnJlZShudWxscyk7PC9kaXY+ PGRpdj4rwqDCoCDCoHJldHVybiBvazs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rLyo8L2Rpdj48ZGl2PisgKiBSZWN1cnNpdmUgcG9zdGZpeCBldmFsdWF0b3IgZm9yIHNpZ19l dmFsX3F1ZXJ5KCkuPC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2PisgKiAidmFscyIgaG9sZHMgdGhl IHByZWNvbXB1dGVkIHNpZ25hdHVyZSBsb29rdXAgZm9yIGV2ZXJ5IFZBTCBzbG90LiDCoE5PVDwv ZGl2PjxkaXY+KyAqIGlzIG5vbi1yZXN0cmljdGl2ZSB1bmRlciBhIHNpZ25hdHVyZSAodGhlIGJp dCBjb3VsZCBzdGlsbCBiZSBzZXQgYnkgc29tZTwvZGl2PjxkaXY+KyAqIG90aGVyIGluc2VydGVk IGFycmF5KSwgc28gd2UgY29uc2VydmF0aXZlbHkgcmVwb3J0IHRydWUgb24gbmVnYXRpb247IHRo ZTwvZGl2PjxkaXY+KyAqIEdpU1QgcmVjaGVjayBzdGVwIHdpbGwgdGhlbiBmaWx0ZXIgb24gdGhl IHJlYWwgdmFsdWVzLjwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K3N0YXRpYyBib29sPC9kaXY+ PGRpdj4rc2lnX2V2YWxfd2FsayhBbnlRdWVyeSAqcSwgaW50IGlkeCwgY29uc3QgYm9vbCAqdmFs cyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQW55UXVlcnlJdGVtICpp dDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgY2hlY2tfc3RhY2tfZGVwdGgoKTs8L2Rp dj48ZGl2PivCoMKgIMKgQXNzZXJ0KGlkeCAmZ3Q7PSAwKTs8L2Rpdj48ZGl2PivCoMKgIMKgaXQg PSAmYW1wO3EtJmd0O2l0ZW1zW2lkeF07PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlm IChpdC0mZ3Q7dHlwZSA9PSBBTllRX1ZBTCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVy biB2YWxzW2lkeF07PC9kaXY+PGRpdj4rwqDCoCDCoGlmIChpdC0mZ3Q7cGF5bG9hZCA9PSBBTllR X05PVCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHJldHVybiB0cnVlOzwvZGl2PjxkaXY+K8Kg wqAgwqBpZiAoaXQtJmd0O3BheWxvYWQgPT0gQU5ZUV9BTkQpPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqByZXR1cm4gc2lnX2V2YWxfd2FsayhxLCBpZHggKyBpdC0mZ3Q7bGVmdCwgdmFscykgJmFt cDsmYW1wOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoHNpZ19ldmFsX3dhbGsocSwg aWR4IC0gMSwgdmFscyk7PC9kaXY+PGRpdj4rwqDCoCDCoC8qIEFOWVFfT1IgKi88L2Rpdj48ZGl2 PivCoMKgIMKgcmV0dXJuIHNpZ19ldmFsX3dhbGsocSwgaWR4ICsgaXQtJmd0O2xlZnQsIHZhbHMp IHx8PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBzaWdfZXZhbF93YWxrKHEsIGlkeCAtIDEsIHZh bHMpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAq IEV2YWx1YXRlIGFuIGFueXF1ZXJ5IGFnYWluc3QgYSBzaWduYXR1cmUuIMKgRWFjaCBWQUwgaXMg cGFyc2VkIHVzaW5nIHRoZTwvZGl2PjxkaXY+KyAqIGVsZW1lbnQgdHlwZSdzIHRleHQgaW5wdXQs IGhhc2hlZCwgdGhlbiBsb29rZWQgdXAgaW4gdGhlIHNpZ25hdHVyZS48L2Rpdj48ZGl2PisgKi88 L2Rpdj48ZGl2PitzdGF0aWMgYm9vbDwvZGl2PjxkaXY+K3NpZ19ldmFsX3F1ZXJ5KGNvbnN0IHVu c2lnbmVkIGNoYXIgKnNpZywgaW50IHNpZ2xlbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqAgwqAgQW55UXVlcnkgKnEsIEFueUFycmF5VHlwZUluZm8gKm1ldGEsPC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgIE9pZCBpbnB1dF9mdW5jLCBPaWQgaW5wdXRfdHlwaW9w YXJhbSk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqAg wqAgKnZhbHM7PC9kaXY+PGRpdj4rwqDCoCDCoGJvb2zCoMKgIMKgwqDCoCDCoHJlc3VsdDs8L2Rp dj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgaTs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PivCoMKgIMKgaWYgKHEtJmd0O3NpemUgJmx0Oz0gMCk8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoHJldHVybiBmYWxzZTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgdmFscyA9 IChib29sICopIHBhbGxvYzAoc2l6ZW9mKGJvb2wpICogcS0mZ3Q7c2l6ZSk7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rwqDCoCDCoGZvciAoaSA9IDA7IGkgJmx0OyBxLSZndDtzaXplOyBpKyspPC9k aXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgQW55UXVl cnlJdGVtICppdCA9ICZhbXA7cS0mZ3Q7aXRlbXNbaV07PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqBEYXR1bcKgwqAgwqDCoMKgIMKgdjs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDC oCDCoGlmIChpdC0mZ3Q7dHlwZSAhPSBBTllRX1ZBTCk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqBjb250aW51ZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHYgPSBPaWRJbnB1dEZ1 bmN0aW9uQ2FsbChpbnB1dF9mdW5jLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIChjaGFyICopIEFOWVFVRVJZX1NUUklO RyhxLCBpdCksPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqAgaW5wdXRfdHlwaW9wYXJhbSwgLTEpOzwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgdmFsc1tpXSA9IGdldF9iaXQoc2lnLCBoYXNoX2VsZW0obWV0YSwgdiksIHNp Z2xlbik7PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKg cmVzdWx0ID0gc2lnX2V2YWxfd2FsayhxLCBxLSZndDtzaXplIC0gMSwgdmFscyk7PC9kaXY+PGRp dj4rwqDCoCDCoHBmcmVlKHZhbHMpOzwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gcmVzdWx0Ozwv ZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2FueWFy cmF5X2dpc3RfY29uc2lzdGVudChQR19GVU5DVElPTl9BUkdTKTwvZGl2PjxkaXY+K3s8IS0tIC0t PjwvZGl2PjxkaXY+K8KgwqAgwqBHSVNURU5UUlkgwqAqZW50cnkgPSAoR0lTVEVOVFJZICopIFBH X0dFVEFSR19QT0lOVEVSKDApOzwvZGl2PjxkaXY+K8KgwqAgwqBTdHJhdGVneU51bWJlciBzdHJh dCA9IChTdHJhdGVneU51bWJlcikgUEdfR0VUQVJHX1VJTlQxNigyKTs8L2Rpdj48ZGl2PivCoMKg IMKgT2lkwqDCoCDCoMKgwqAgwqDCoMKgIMKgc3VidHlwZSA9IFBHX0dFVEFSR19PSUQoMyk7PC9k aXY+PGRpdj4rwqDCoCDCoGJvb2zCoMKgIMKgIMKgICpyZWNoZWNrID0gKGJvb2wgKikgUEdfR0VU QVJHX1BPSU5URVIoNCk7PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5R2lzdEtleSAqa2V5ID0g KEFueUFycmF5R2lzdEtleSAqKSBEYXR1bUdldFBvaW50ZXIoZW50cnktJmd0O2tleSk7PC9kaXY+ PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoHNpZ2xlbiA9IEFOWUFSUkFZX0dF VF9TSUdMRU4oKTs8L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqDCoMKgIMKgcmVzdWx0Ozwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqAvKiBBbGwgc2lnbmF0dXJlLWJhc2VkIGFuc3dl cnMgcmVxdWlyZSBhIHJlY2hlY2suICovPC9kaXY+PGRpdj4rwqDCoCDCoCpyZWNoZWNrID0gdHJ1 ZTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKEFOWUFSUkFZX0dLRVlfSVNBTExU UlVFKGtleSkpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgLyogQ2Fubm90IHBydW5lIGFueXRoaW5nIGZyb20gYW4gYWxsLXRydWUgc2lnbmF0dXJl LiAqLzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgUEdfUkVUVVJOX0JPT0wodHJ1ZSk7PC9kaXY+ PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgKHZvaWQpIHN1YnR5 cGU7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmIChzdHJhdCA9PSBBTllBUlJBWV9C T09MRUFOX1NUUkFURUdZKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoEFueVF1ZXJ5IMKgICpxID0gUEdfR0VUQVJHX0FOWVFVRVJZX1AoMSk7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBBbnlBcnJheVR5cGVJbmZvICptZXRhOzwvZGl2PjxkaXY+ K8KgwqAgwqDCoMKgIMKgRm9ybV9wZ19pbmRleCBpbmQ7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqBPaWTCoMKgIMKgwqDCoCDCoMKgwqAgwqBjb2x0eXBlOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgT2lkwqDCoCDCoMKgwqAgwqDCoMKgIMKgZWxlbXR5cGU7PC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqBPaWTCoMKgIMKgwqDCoCDCoMKgwqAgwqBpbnB1dF9mdW5jOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgT2lkwqDCoCDCoMKgwqAgwqDCoMKgIMKgaW5wdXRfdHlwaW9wYXJhbTs8L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoC8qPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqAgKiBUaGUgcXVlcnkgaXMgYW55cXVlcnksIHNvIHdlIHJlY292ZXIgdGhlIGVsZW1lbnQgdHlw ZSBmcm9tIHRoZTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgICogaW5kZXhlZCBjb2x1bW4ncyBw Z19pbmRleCBlbnRyeS4gwqBUaGUgaW5kZXgncyBvd24gcmRfYXR0IGdpdmVzIHRoZTwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgICogU1RPUkFHRSB0eXBlIChhbnlhcnJheV9naXN0X2tleSksIG5v dCB0aGUgb3JpZ2luYWwgYXJyYXkgdHlwZSwgc288L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoCAq IHdlIHJlYWQgdGhlIGluZHJlbGlkICsgaW5ka2V5IGluc3RlYWQuPC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqAgKi88L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGluZCA9IGVudHJ5LSZndDtyZWwt Jmd0O3JkX2luZGV4OzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKGluZCA9PSBOVUxMIHx8 IGluZC0mZ3Q7aW5kbmF0dHMgJmx0OyAxKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDC oGVyZXBvcnQoRVJST1IsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqAoZXJyY29kZShFUlJDT0RFX0lOVEVSTkFMX0VSUk9SKSw8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCBlcnJtc2coImFueWFycmF5IEdpU1QgaW5kZXgg aGFzIG5vIGtleSBjb2x1bW4iKSkpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgY29sdHlwZSA9 IGdldF9hdHR0eXBlKGluZC0mZ3Q7aW5kcmVsaWQsIGluZC0mZ3Q7aW5ka2V5LnZhbHVlc1swXSk7 PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBlbGVtdHlwZSA9IGdldF9lbGVtZW50X3R5cGUoY29s dHlwZSk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoIU9pZElzVmFsaWQoZWxlbXR5cGUp KTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGVyZXBvcnQoRVJST1IsPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAoZXJyY29kZShFUlJDT0RFX0RB VEFUWVBFX01JU01BVENIKSw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoCBlcnJtc2coImNhbm5vdCBkZXRlcm1pbmUgZWxlbWVudCB0eXBlIGZvciBhbnlxdWVy eSBtYXRjaCIpKSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBtZXRhID0g YW55YXJyYXlfZ2V0X21ldGEoZmNpbmZvLCBlbGVtdHlwZSwgdHJ1ZSk7PC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqBnZXRUeXBlSW5wdXRJbmZvKGVsZW10eXBlLCAmYW1wO2lucHV0X2Z1bmMsICZh bXA7aW5wdXRfdHlwaW9wYXJhbSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqByZXN1bHQgPSBzaWdfZXZhbF9xdWVyeShBTllBUlJBWV9HS0VZX1NJR04oa2V5KSwgc2lnbGVu LCBxLCBtZXRhLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgaW5wdXRfZnVuYywgaW5wdXRfdHlwaW9wYXJhbSk7PC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqBQR19GUkVFX0lGX0NPUFkocSwgMSk7PC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqBQR19SRVRVUk5fQk9PTChyZXN1bHQpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9k aXY+PGRpdj4rwqDCoCDCoGVsc2U8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqBBcnJheVR5cGUgwqAqcXVlcnkgPSBQR19HRVRBUkdfQVJSQVlUWVBF X1AoMSk7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBBbnlBcnJheVR5cGVJbmZvICptZXRhOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgQU5ZQVJSQVlfQ0hFQ0tfQVJSQVko cXVlcnkpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgbWV0YSA9IGFueWFycmF5X2dldF9tZXRh KGZjaW5mbywgQVJSX0VMRU1UWVBFKHF1ZXJ5KSwgdHJ1ZSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqBzd2l0Y2ggKHN0cmF0KTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg ezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgY2FzZSBBTllBUlJBWV9P VkVSTEFQX1NUUkFURUdZOjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBy ZXN1bHQgPSBzaWdfb3ZlcmxhcF9hcnJheShBTllBUlJBWV9HS0VZX1NJR04oa2V5KSwgc2lnbGVu LDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgcXVlcnksIG1ldGEpOzwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqBjYXNlIEFOWUFSUkFZX0NPTlRBSU5TX1NUUkFURUdZOjwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqByZXN1bHQgPSBzaWdfY29udGFpbnNfYXJyYXkoQU5ZQVJS QVlfR0tFWV9TSUdOKGtleSksIHNpZ2xlbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC oHF1ZXJ5LCBtZXRhKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgYnJl YWs7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgY2FzZSBBTllBUlJBWV9DT05UQUlO RURfU1RSQVRFR1k6PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoC8qPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCAqIEZvciAi a2V5ICZsdDtAIHF1ZXJ5Iiwgc2lnbmF0dXJlcyBjYW5ub3QgZXhjbHVkZSBhIG5vbi1sZWFmPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCAqIGtleSBiZWNhdXNlIGl0cyBi aXRzIG1heSBjb21lIGZyb20gbWFueSBkaXN0aW5jdCBjaGlsZHJlbjwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgKiB3aGljaCBuZWVkIG5vdCBpbmRpdmlkdWFsbHkgYmUg Y29udGFpbmVkIGluIHF1ZXJ5LiBBbHdheXM8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgICogcmVjaGVjay48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgICovPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoGlmIChHSVNUX0xF QUYoZW50cnkpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqB7PCEtLSAt LT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoC8qPC9kaXY+ PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgKiBBdCB0aGUgbGVhZiwg ZXZlcnkgc2V0IGJpdCBtdXN0IGFsc28gaGF2ZSBiZWVuIHNldCBieTwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgICogdGhlIHF1ZXJ5IChpLmUuLCBlbGVtZW50 IGhhc2hlcyB0byB0aGF0IGJpdCkuPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoMKgwqAgwqAgKi88L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoHVuc2lnbmVkIGNoYXIgKnFzaWc7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBpOzwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgcXNpZyA9ICh1bnNpZ25l ZCBjaGFyICopIHBhbGxvYzAoc2lnbGVuKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoGhhc2hfYXJyYXlfaW50byhxc2lnLCBzaWdsZW4sIHF1ZXJ5LCBtZXRh KTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoHJlc3VsdCA9 IHRydWU7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBmb3Ig KGkgPSAwOyBpICZsdDsgc2lnbGVuOyBpKyspPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBpZiAoQU5ZQVJSQVlfR0tFWV9TSUdOKGtleSlbaV0gJmFt cDsgfnFzaWdbaV0pPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqDCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoHJlc3VsdCA9IGZhbHNlOzwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVhazs8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBwZnJlZShxc2lnKTs8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqBlbHNlPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBy ZXN1bHQgPSB0cnVlOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBicmVh azs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBjYXNlIEFOWUFSUkFZX0VRVUFMX1NU UkFURUdZOjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAg wqAvKjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgKiBUaGUgbGVhZiBz aWduYXR1cmUgZm9yIGFuIGVxdWFsIHJvdyBjb250YWlucyBldmVyeSBiaXQgb2Y8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgICogdGhlIHF1ZXJ5J3MgaGFzaDsgaW50ZXJu YWwgdW5pb25zIGNvbnRhaW4gYXQgbGVhc3QgdGhvc2U8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgICogYml0cy4gwqBTbyAia2V5IGNvbnRhaW5zIHF1ZXJ5IGJpdHMiIGlz IGEgc291bmQ8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgICogb3Zlci1h cHByb3hpbWF0aW9uIHRoYXQgcmVjaGVjayB3aWxsIHRpZ2h0ZW4uPC9kaXY+PGRpdj4rwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoCAqLzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqByZXN1bHQgPSBzaWdfY29udGFpbnNfYXJyYXkoQU5ZQVJSQVlfR0tFWV9TSUdOKGtl eSksIHNpZ2xlbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoHF1ZXJ5LCBtZXRhKTs8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgYnJlYWs7PC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqDCoMKgIMKgZGVmYXVsdDo8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgZWxvZyhFUlJPUiwgInVucmVjb2duaXplZCBzdHJhdGVneSBudW1iZXI6ICVk Iiwgc3RyYXQpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqByZXN1bHQg PSBmYWxzZTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgYnJlYWs7PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqBQR19GUkVFX0lGX0NPUFkocXVlcnksIDEpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg UEdfUkVUVVJOX0JPT0wocmVzdWx0KTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K308 L2Rpdj48ZGl2PmRpZmYgLS1naXQgYS9jb250cmliL2FueWFycmF5L2FueWFycmF5X29wLmMgYi9j b250cmliL2FueWFycmF5L2FueWFycmF5X29wLmM8L2Rpdj48ZGl2Pm5ldyBmaWxlIG1vZGUgMTAw NjQ0PC9kaXY+PGRpdj5pbmRleCAwMDAwMDAwMDAwMC4uNDdhMDUwYmIwZTM8L2Rpdj48ZGl2Pi0t LSAvZGV2L251bGw8L2Rpdj48ZGl2PisrKyBiL2NvbnRyaWIvYW55YXJyYXkvYW55YXJyYXlfb3Au YzwvZGl2PjxkaXY+QEAgLTAsMCArMSw2MTMgQEA8L2Rpdj48ZGl2PisvKi0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS08L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqIGFueWFycmF5X29wLmM8L2Rpdj48ZGl2Pisg KsKgwqAgwqDCoMKgIMKgU2V0LXN0eWxlIG9wZXJhdGlvbnMgb24gYXJyYXlzIG9mIGFueSB0eXBl LjwvZGl2PjxkaXY+KyAqPC9kaXY+PGRpdj4rICogQWxsIGZ1bmN0aW9ucyBhY2NlcHQgYW55YXJy YXkgLyBhbnllbGVtZW50IGlucHV0cyBhbmQgZGlzcGF0Y2ggdG8gdGhlPC9kaXY+PGRpdj4rICog ZWxlbWVudCB0eXBlJ3MgYnRyZWUgY29tcGFyaXNvbiBmdW5jdGlvbiB0aHJvdWdoIGFueWFycmF5 X2dldF9tZXRhKCkuPC9kaXY+PGRpdj4rICogVGhlIG9wZXJhdGlvbnMgbWlycm9yIHRoZSBjb3Jy ZXNwb25kaW5nIGludGFycmF5IG9wZXJhdGlvbnMgYnV0IGFyZTwvZGl2PjxkaXY+KyAqIHR5cGUt cG9seW1vcnBoaWMuPC9kaXY+PGRpdj4rICo8L2Rpdj48ZGl2PisgKiBDb3B5cmlnaHQgKGMpIDIw MjYsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwPC9kaXY+PGRpdj4rICo8L2Rp dj48ZGl2PisgKiBJREVOVElGSUNBVElPTjwvZGl2PjxkaXY+KyAqwqDCoCDCoMKgwqAgwqBjb250 cmliL2FueWFycmF5L2FueWFycmF5X29wLmM8L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+KyAqLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNpbmNs dWRlICJwb3N0Z3Jlcy5oIjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNpbmNsdWRlICJhbnlhcnJh eS5oIjwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCI8 L2Rpdj48ZGl2PisjaW5jbHVkZSAibGliL3F1bmlxdWUuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAi dXRpbHMvYXJyYXkuaCI8L2Rpdj48ZGl2PisjaW5jbHVkZSAidXRpbHMvYnVpbHRpbnMuaCI8L2Rp dj48ZGl2PisjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiPC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBkZWNvbnN0cnVjdF9hcnJfbWV0YTwvZGl2 PjxkaXY+KyAqwqDCoCDCoMKgwqAgwqBQdWxsIGVsZW1lbnQgdmFsdWVzIG91dCBvZiAiYXJyIiBh bmQgZmlsbCBpbiAiKm1ldGEiIGZvciBpdHMgdHlwZS48L2Rpdj48ZGl2PisgKjwvZGl2PjxkaXY+ KyAqIFJldHVybnMgRGF0dW0gYXJyYXkgaW4gKm91dF92YWx1ZXMgKHBhbGxvYydkKSwgY291bnQg aW4gKm91dF9uZWxlbXMuIMKgVGhlPC9kaXY+PGRpdj4rICogaW5wdXQgYXJyYXkgbXVzdCBhbHJl YWR5IGhhdmUgcGFzc2VkIEFOWUFSUkFZX0NIRUNLX0FSUkFZOyB3ZSBzdGlsbCBnYXRlPC9kaXY+ PGRpdj4rICogb24gaXQgZGVmZW5zaXZlbHkgYmVjYXVzZSBhbGwgZW50cnkgcG9pbnRzIGZlZWQg dGhyb3VnaCB0aGlzIGhlbHBlci48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2PitzdGF0aWMgdm9p ZDwvZGl2PjxkaXY+K2RlY29uc3RydWN0X2Fycl9tZXRhKEZ1bmN0aW9uQ2FsbEluZm8gZmNpbmZv LCBBcnJheVR5cGUgKmFyciw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoCBBbnlBcnJheVR5cGVJbmZvICoqb3V0X21ldGEsPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgRGF0dW0gKipvdXRfdmFsdWVzLCBpbnQgKm91dF9u ZWxlbXMpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5VHlw ZUluZm8gKm1ldGE7PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoCDCoCAqdmFsdWVzOzwv ZGl2PjxkaXY+K8KgwqAgwqBib29swqDCoCDCoCDCoCAqbnVsbHM7PC9kaXY+PGRpdj4rwqDCoCDC oGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG5lbGVtczs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivC oMKgIMKgQU5ZQVJSQVlfQ0hFQ0tfQVJSQVkoYXJyKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivC oMKgIMKgbWV0YSA9IGFueWFycmF5X2dldF9tZXRhKGZjaW5mbywgQVJSX0VMRU1UWVBFKGFyciks IGZhbHNlKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKEFSUl9ORElNKGFycikg PT0gMCk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqAqb3V0X21ldGEgPSBtZXRhOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKm91dF92YWx1ZXMg PSBOVUxMOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKm91dF9uZWxlbXMgPSAwOzwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgcmV0dXJuOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rwqDCoCDCoGRlY29uc3RydWN0X2FycmF5KGFyciwgbWV0YS0mZ3Q7ZWxlbWVu dF90eXBlLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKg bWV0YS0mZ3Q7dHlwbGVuLCBtZXRhLSZndDt0eXBieXZhbCwgbWV0YS0mZ3Q7dHlwYWxpZ24sPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAmYW1wO3ZhbHVl cywgJmFtcDtudWxscywgJmFtcDtuZWxlbXMpOzwvZGl2PjxkaXY+K8KgwqAgwqBwZnJlZShudWxs cyk7wqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoC8qIHdlJ3ZlIGFscmVhZHkgcmVqZWN0ZWQg bnVsbHMgYWJvdmUgKi88L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgKm91dF9tZXRhID0g bWV0YTs8L2Rpdj48ZGl2PivCoMKgIMKgKm91dF92YWx1ZXMgPSB2YWx1ZXM7PC9kaXY+PGRpdj4r wqDCoCDCoCpvdXRfbmVsZW1zID0gbmVsZW1zOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIG1ha2VfYXJyYXlfZnJvbV9kYXR1bXM8L2Rpdj48ZGl2 PisgKsKgwqAgwqDCoMKgIMKgQnVpbGQgYSAxLUQgYXJyYXkgZnJvbSB0aGUgZ2l2ZW4gRGF0dW0g dmVjdG9yLiDCoEVtcHR5IC0mZ3Q7IGVtcHR5IGFycmF5LjwvZGl2PjxkaXY+KyAqLzwvZGl2Pjxk aXY+K3N0YXRpYyBBcnJheVR5cGUgKjwvZGl2PjxkaXY+K21ha2VfYXJyYXlfZnJvbV9kYXR1bXMo RGF0dW0gKnZhbHVlcywgaW50IG5lbGVtcywgQW55QXJyYXlUeXBlSW5mbyAqbWV0YSk8L2Rpdj48 ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgaWYgKG5lbGVtcyA9PSAwKTwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgcmV0dXJuIGNvbnN0cnVjdF9lbXB0eV9hcnJheShtZXRhLSZndDtl bGVtZW50X3R5cGUpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gY29uc3Ry dWN0X2FycmF5KHZhbHVlcywgbmVsZW1zLCBtZXRhLSZndDtlbGVtZW50X3R5cGUsPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgIG1ldGEtJmd0 O3R5cGxlbiwgbWV0YS0mZ3Q7dHlwYnl2YWwsIG1ldGEtJmd0O3R5cGFsaWduKTs8L2Rpdj48ZGl2 Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyogLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t PC9kaXY+PGRpdj4rICogwqBzb3J0IC8gdW5pcTwvZGl2PjxkaXY+KyAqIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LTwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lORk9f VjEoYW55YXJyYXlfc29ydCk7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJh eV9zb3J0X2Rpcik7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJheV91bmlx KTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIFNvcnQgYW4gYXJyYXkg YXNjZW5kaW5nLjwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K0RhdHVtPC9kaXY+PGRpdj4rYW55 YXJyYXlfc29ydChQR19GVU5DVElPTl9BUkdTKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2Pjxk aXY+K8KgwqAgwqBBcnJheVR5cGUgwqAqYXJyID0gUEdfR0VUQVJHX0FSUkFZVFlQRV9QKDApOzwv ZGl2PjxkaXY+K8KgwqAgwqBBbnlBcnJheVR5cGVJbmZvICptZXRhOzwvZGl2PjxkaXY+K8KgwqAg wqBEYXR1bcKgwqAgwqAgwqAgKnZhbHVlczs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKg wqAgwqDCoMKgIMKgbmVsZW1zOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBkZWNvbnN0 cnVjdF9hcnJfbWV0YShmY2luZm8sIGFyciwgJmFtcDttZXRhLCAmYW1wO3ZhbHVlcywgJmFtcDtu ZWxlbXMpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAobmVsZW1zICZndDsgMSk8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHFzb3J0X2FyZyh2YWx1ZXMsIG5lbGVtcywgc2l6ZW9m KERhdHVtKSwgYW55YXJyYXlfY21wX2RhdHVtLCBtZXRhKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PivCoMKgIMKgUEdfUkVUVVJOX0FSUkFZVFlQRV9QKG1ha2VfYXJyYXlfZnJvbV9kYXR1bXModmFs dWVzLCBuZWxlbXMsIG1ldGEpKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r Lyo8L2Rpdj48ZGl2PisgKiBTb3J0IGFuIGFycmF5LiDCoFRoZSBkaXJlY3Rpb24gdGV4dCBpcyBj YXNlLWluc2Vuc2l0aXZlIGFuZCBtdXN0IGJlIG9uZSBvZjwvZGl2PjxkaXY+KyAqICdhc2MnIC8g J2FzY2VuZGluZycgb3IgJ2Rlc2MnIC8gJ2Rlc2NlbmRpbmcnLjwvZGl2PjxkaXY+KyAqLzwvZGl2 PjxkaXY+K0RhdHVtPC9kaXY+PGRpdj4rYW55YXJyYXlfc29ydF9kaXIoUEdfRlVOQ1RJT05fQVJH Uyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmFy ciA9IFBHX0dFVEFSR19BUlJBWVRZUEVfUCgwKTs8L2Rpdj48ZGl2PivCoMKgIMKgdGV4dMKgwqAg wqAgwqAgKmRpciA9IFBHX0dFVEFSR19URVhUX1BQKDEpOzwvZGl2PjxkaXY+K8KgwqAgwqBjb25z dCBjaGFyICpkaXJzdHIgPSBWQVJEQVRBX0FOWShkaXIpOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnTC oMKgIMKgwqDCoCDCoMKgwqAgwqBkaXJsZW4gPSBWQVJTSVpFX0FOWV9FWEhEUihkaXIpOzwvZGl2 PjxkaXY+K8KgwqAgwqBib29swqDCoCDCoMKgwqAgwqBhc2NlbmRpbmc7PC9kaXY+PGRpdj4rwqDC oCDCoEFueUFycmF5VHlwZUluZm8gKm1ldGE7PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDC oCDCoCAqdmFsdWVzOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBu ZWxlbXM7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmICgoZGlybGVuID09IDMgJmFt cDsmYW1wOyBwZ19zdHJuY2FzZWNtcChkaXJzdHIsICJhc2MiLCAzKSA9PSAwKSB8fDwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgKGRpcmxlbiA9PSA5ICZhbXA7JmFtcDsgcGdfc3RybmNhc2VjbXAo ZGlyc3RyLCAiYXNjZW5kaW5nIiwgOSkgPT0gMCkpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBh c2NlbmRpbmcgPSB0cnVlOzwvZGl2PjxkaXY+K8KgwqAgwqBlbHNlIGlmICgoZGlybGVuID09IDQg JmFtcDsmYW1wOyBwZ19zdHJuY2FzZWNtcChkaXJzdHIsICJkZXNjIiwgNCkgPT0gMCkgfHw8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAgKGRpcmxlbiA9PSAxMCAmYW1wOyZhbXA7IHBn X3N0cm5jYXNlY21wKGRpcnN0ciwgImRlc2NlbmRpbmciLCAxMCkgPT0gMCkpPC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqBhc2NlbmRpbmcgPSBmYWxzZTs8L2Rpdj48ZGl2PivCoMKgIMKgZWxzZTwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgZXJlcG9ydChFUlJPUiw8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFNRVRFUl9W QUxVRSksPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCBlcnJtc2coInNl Y29uZCBwYXJhbWV0ZXIgbXVzdCBiZSBcImFzY1wiIG9yIFwiZGVzY1wiIikpKTs8L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PivCoMKgIMKgZGVjb25zdHJ1Y3RfYXJyX21ldGEoZmNpbmZvLCBhcnIsICZh bXA7bWV0YSwgJmFtcDt2YWx1ZXMsICZhbXA7bmVsZW1zKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PivCoMKgIMKgaWYgKG5lbGVtcyAmZ3Q7IDEpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgcXNvcnRfYXJnKHZhbHVlcywgbmVsZW1zLCBzaXplb2Yo RGF0dW0pLCBhbnlhcnJheV9jbXBfZGF0dW0sIG1ldGEpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgaWYgKCFhc2NlbmRpbmcpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBEYXR1bcKgwqAgwqAgwqAgKmwgPSB2YWx1ZXM7 PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgRGF0dW3CoMKgIMKgIMKgICpyID0gdmFs dWVzICsgbmVsZW1zIC0gMTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqB3aGlsZSAobCAmbHQ7IHIpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgezwh LS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoERhdHVtwqDCoCDC oMKgwqAgwqB0bXAgPSAqbDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgKmwrKyA9ICpyOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqAqci0tID0gdG1wOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoH08L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K8KgwqAgwqBQR19SRVRVUk5fQVJSQVlUWVBFX1AobWFrZV9hcnJheV9mcm9tX2RhdHVt cyh2YWx1ZXMsIG5lbGVtcywgbWV0YSkpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PisvKjwvZGl2PjxkaXY+KyAqIFJlbW92ZSBkdXBsaWNhdGUgZWxlbWVudHM7IGRvZXMgbm90 IHJlcXVpcmUgcHJlLXNvcnRlZCBpbnB1dC48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2PitEYXR1 bTwvZGl2PjxkaXY+K2FueWFycmF5X3VuaXEoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2Pit7 PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmFyciA9IFBHX0dFVEFSR19B UlJBWVRZUEVfUCgwKTs8L2Rpdj48ZGl2PivCoMKgIMKgQW55QXJyYXlUeXBlSW5mbyAqbWV0YTs8 L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKgIMKgICp2YWx1ZXM7PC9kaXY+PGRpdj4rwqDC oCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG5lbGVtczs8L2Rpdj48ZGl2PivCoMKgIMKgaW50 wqDCoCDCoMKgwqAgwqDCoMKgIMKgbnVuaXF1ZTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgZGVjb25zdHJ1Y3RfYXJyX21ldGEoZmNpbmZvLCBhcnIsICZhbXA7bWV0YSwgJmFtcDt2YWx1 ZXMsICZhbXA7bmVsZW1zKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKG5lbGVt cyAmZ3Q7IDEpPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgcXNvcnRfYXJnKHZhbHVlcywgbmVsZW1zLCBzaXplb2YoRGF0dW0pLCBhbnlhcnJheV9j bXBfZGF0dW0sIG1ldGEpOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgbnVuaXF1ZSA9IHF1bmlx dWVfYXJnKHZhbHVlcywgbmVsZW1zLCBzaXplb2YoRGF0dW0pLDwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBhbnlhcnJheV9jbXBf ZGF0dW0sIG1ldGEpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoG51bmlxdWUgPSBuZWxlbXM7PC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rwqDCoCDCoFBHX1JFVFVSTl9BUlJBWVRZUEVfUChtYWtlX2FycmF5X2Zyb21fZGF0 dW1zKHZhbHVlcywgbnVuaXF1ZSwgbWV0YSkpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PisvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgKiDCoGlk eCAvIHN1YmFycmF5IC8gY2FyZGluYWxpdHk8L2Rpdj48ZGl2PisgKiAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08 L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1Yx KGFueWFycmF5X2lkeCk7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJheV9z dWJhcnJheSk7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJheV9zdWJhcnJh eV90b19lbmQpOzwvZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lORk9fVjEoYW55YXJyYXlfaWNvdW50 KTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIFJldHVybiB0aGUgMS1i YXNlZCBpbmRleCBvZiB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZiAiZWxlbSIgaW4gImFyciIsPC9k aXY+PGRpdj4rICogb3IgMCBpZiBub3QgZm91bmQuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4r RGF0dW08L2Rpdj48ZGl2PithbnlhcnJheV9pZHgoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2 Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmFyciA9IFBHX0dFVEFS R19BUlJBWVRZUEVfUCgwKTs8L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKgwqDCoCDCoGVs ZW0gPSBQR19HRVRBUkdfREFUVU0oMSk7PC9kaXY+PGRpdj4rwqDCoCDCoEFueUFycmF5VHlwZUlu Zm8gKm1ldGE7PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoCDCoCAqdmFsdWVzOzwvZGl2 PjxkaXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBuZWxlbXM7PC9kaXY+PGRpdj4r wqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoGk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r wqDCoCDCoGRlY29uc3RydWN0X2Fycl9tZXRhKGZjaW5mbywgYXJyLCAmYW1wO21ldGEsICZhbXA7 dmFsdWVzLCAmYW1wO25lbGVtcyk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGZvciAo aSA9IDA7IGkgJmx0OyBuZWxlbXM7IGkrKyk8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBEYXR1bcKgwqAgwqDCoMKgIMKgZXEgPSBGdW5jdGlvbkNh bGwyQ29sbCgmYW1wO21ldGEtJmd0O2VxX3Byb2MsIG1ldGEtJmd0O3R5cGNvbGxhdGlvbiw8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgIHZhbHVlc1tpXSwgZWxlbSk7PC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoRGF0dW1HZXRCb29sKGVxKSk8L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoMKgwqAgwqBQR19SRVRVUk5fSU5UMzIoaSArIDEpOzwvZGl2PjxkaXY+K8Kg wqAgwqB9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoFBHX1JFVFVSTl9JTlQzMigwKTs8 L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBDb21t b24gc3ViYXJyYXkgZXh0cmFjdGlvbi4gwqAic3RhcnQiIGlzIDEtYmFzZWQ7IGlmIGl0IGlzIG5v bi1wb3NpdGl2ZTwvZGl2PjxkaXY+KyAqIHRoZSBmdW5jdGlvbiByZXR1cm5zIGFuIGVtcHR5IGFy cmF5LiDCoCJsZW4iIGdpdmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZjwvZGl2PjxkaXY+KyAqIGVs ZW1lbnRzIHRvIGNvcHk7IGlmICJoYXZlX2xlbiIgaXMgZmFsc2UgdGhlIHdob2xlIHRhaWwgaXMg cmV0dXJuZWQuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rc3RhdGljIEFycmF5VHlwZSAqPC9k aXY+PGRpdj4rZG9fc3ViYXJyYXkoRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sIEFycmF5VHlwZSAq YXJyLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGludDMyIHN0YXJ0LCBpbnQzMiBs ZW4sIGJvb2wgaGF2ZV9sZW4pPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDC oEFueUFycmF5VHlwZUluZm8gKm1ldGE7PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoCDC oCAqdmFsdWVzOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBuZWxl bXM7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG9mZjs8L2Rpdj48 ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgbjs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PivCoMKgIMKgZGVjb25zdHJ1Y3RfYXJyX21ldGEoZmNpbmZvLCBhcnIsICZhbXA7bWV0YSwg JmFtcDt2YWx1ZXMsICZhbXA7bmVsZW1zKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKg aWYgKHN0YXJ0ICZsdDsgMSB8fCBzdGFydCAmZ3Q7IG5lbGVtcyk8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoHJldHVybiBjb25zdHJ1Y3RfZW1wdHlfYXJyYXkobWV0YS0mZ3Q7ZWxlbWVudF90eXBl KTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgb2ZmID0gc3RhcnQgLSAxOzwvZGl2Pjxk aXY+K8KgwqAgwqBpZiAoaGF2ZV9sZW4pPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKGxlbiAmbHQ7PSAwKTwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoHJldHVybiBjb25zdHJ1Y3RfZW1wdHlfYXJyYXkobWV0YS0mZ3Q7ZWxlbWVu dF90eXBlKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoG4gPSBNaW4obGVuLCBuZWxlbXMgLSBv ZmYpOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoG4gPSBuZWxlbXMgLSBvZmY7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r wqDCoCDCoHJldHVybiBtYWtlX2FycmF5X2Zyb21fZGF0dW1zKHZhbHVlcyArIG9mZiwgbiwgbWV0 YSk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICog c3ViYXJyYXkoYXJyLCBzdGFydCwgbGVuKTwvZGl2PjxkaXY+KyAqLzwvZGl2PjxkaXY+K0RhdHVt PC9kaXY+PGRpdj4rYW55YXJyYXlfc3ViYXJyYXkoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2 Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmFyciA9IFBHX0dFVEFS R19BUlJBWVRZUEVfUCgwKTs8L2Rpdj48ZGl2PivCoMKgIMKgaW50MzLCoMKgIMKgwqDCoCDCoHN0 YXJ0ID0gUEdfR0VUQVJHX0lOVDMyKDEpOzwvZGl2PjxkaXY+K8KgwqAgwqBpbnQzMsKgwqAgwqDC oMKgIMKgbGVuID0gUEdfR0VUQVJHX0lOVDMyKDIpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8Kg wqAgwqBQR19SRVRVUk5fQVJSQVlUWVBFX1AoZG9fc3ViYXJyYXkoZmNpbmZvLCBhcnIsIHN0YXJ0 LCBsZW4sIHRydWUpKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rp dj48ZGl2PisgKiBzdWJhcnJheShhcnIsIHN0YXJ0KSAtLSB0byBlbmQ8L2Rpdj48ZGl2PisgKi88 L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2FueWFycmF5X3N1YmFycmF5X3RvX2VuZChQR19G VU5DVElPTl9BUkdTKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBBcnJh eVR5cGUgwqAqYXJyID0gUEdfR0VUQVJHX0FSUkFZVFlQRV9QKDApOzwvZGl2PjxkaXY+K8KgwqAg wqBpbnQzMsKgwqAgwqDCoMKgIMKgc3RhcnQgPSBQR19HRVRBUkdfSU5UMzIoMSk7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rwqDCoCDCoFBHX1JFVFVSTl9BUlJBWVRZUEVfUChkb19zdWJhcnJheShm Y2luZm8sIGFyciwgc3RhcnQsIDAsIGZhbHNlKSk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICogaWNvdW50OiB0b3RhbCBlbGVtZW50IGNvdW50LCBp bnRhcnJheS1zdHlsZS4gwqBUaGlzIGR1cGxpY2F0ZXM8L2Rpdj48ZGl2PisgKiBidWlsdC1pbiBj YXJkaW5hbGl0eSgpIGJ1dCB3ZSBleHBvc2UgaXQgdW5kZXIgdGhlICMgb3BlcmF0b3IgdGhlIHdh eTwvZGl2PjxkaXY+KyAqIGludGFycmF5IGRvZXMuPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4r RGF0dW08L2Rpdj48ZGl2PithbnlhcnJheV9pY291bnQoUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48 ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmFyciA9IFBHX0dF VEFSR19BUlJBWVRZUEVfUCgwKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgQU5ZQVJS QVlfQ0hFQ0tfQVJSQVkoYXJyKTs8L2Rpdj48ZGl2PivCoMKgIMKgUEdfUkVUVVJOX0lOVDMyKEFO WUFSUkFZX05FTEVNUyhhcnIpKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICogwqBpbnRlcnNlY3Qg LyB1bmlvbiAvIGRpZmZlcmVuY2U8L2Rpdj48ZGl2PisgKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48 ZGl2PisgKi88L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueWFy cmF5X2ludGVyc2VjdCk7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJheV91 bmlvbik7PC9kaXY+PGRpdj4rUEdfRlVOQ1RJT05fSU5GT19WMShhbnlhcnJheV91bmlvbl9lbGVt KTs8L2Rpdj48ZGl2PitQR19GVU5DVElPTl9JTkZPX1YxKGFueWFycmF5X2RpZmZlcmVuY2UpOzwv ZGl2PjxkaXY+K1BHX0ZVTkNUSU9OX0lORk9fVjEoYW55YXJyYXlfZGlmZmVyZW5jZV9lbGVtKTs8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIGRlY29uc3RydWN0X3R3bzwv ZGl2PjxkaXY+KyAqwqDCoCDCoMKgwqAgwqBMaWtlIGRlY29uc3RydWN0X2Fycl9tZXRhKCkgYnV0 IGZvciB0d28gYXJyYXkgaW5wdXRzIHRoYXQgbXVzdCBzaGFyZTwvZGl2PjxkaXY+KyAqwqDCoCDC oMKgwqAgwqBhbiBlbGVtZW50IHR5cGUuIMKgVGhlIHNlY29uZCBhcnJheSBpcyBhbGxvd2VkIHRv IGJlIGEgZGlmZmVyZW50PC9kaXY+PGRpdj4rICrCoMKgIMKgwqDCoCDCoEFSUkFZIE9JRCAoaXQg bWlnaHQgY29tZSBmcm9tIGFub3RoZXIgY29sdW1uKSBhcyBsb25nIGFzIHRoZSBlbGVtZW50PC9k aXY+PGRpdj4rICrCoMKgIMKgwqDCoCDCoHR5cGVzIG1hdGNoLjwvZGl2PjxkaXY+KyAqLzwvZGl2 PjxkaXY+K3N0YXRpYyBBbnlBcnJheVR5cGVJbmZvICo8L2Rpdj48ZGl2PitkZWNvbnN0cnVjdF90 d28oRnVuY3Rpb25DYWxsSW5mbyBmY2luZm8sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoEFycmF5VHlwZSAqYSwgQXJyYXlUeXBlICpiLDwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqBEYXR1bSAqKmF2YWxzLCBpbnQgKmFuZWxlbXMsPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoERhdHVtICoqYnZhbHMsIGludCAqYm5lbGVt cyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQW55QXJyYXlUeXBlSW5m byAqbWV0YTs8L2Rpdj48ZGl2PivCoMKgIMKgYm9vbMKgwqAgwqAgwqAgKm51bGxzOzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBBTllBUlJBWV9DSEVDS19BUlJBWShhKTs8L2Rpdj48ZGl2 PivCoMKgIMKgQU5ZQVJSQVlfQ0hFQ0tfQVJSQVkoYik7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r wqDCoCDCoGlmIChBUlJfRUxFTVRZUEUoYSkgIT0gQVJSX0VMRU1UWVBFKGIpKTwvZGl2PjxkaXY+ K8KgwqAgwqDCoMKgIMKgZXJlcG9ydChFUlJPUiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgKGVycmNvZGUoRVJSQ09ERV9EQVRBVFlQRV9NSVNNQVRDSCksPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCBlcnJtc2coImNhbm5vdCBvcGVyYXRlIG9u IGFycmF5cyBvZiBkaWZmZXJlbnQgZWxlbWVudCB0eXBlcyIpLDwvZGl2PjxkaXY+K8KgwqAgwqDC oMKgIMKgwqDCoCDCoMKgwqAgwqAgZXJyZGV0YWlsKCJMZWZ0IG9wZXJhbmQgaGFzIGVsZW1lbnQg dHlwZSAlcywgcmlnaHQgb3BlcmFuZCBoYXMgJXMuIiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgZm9ybWF0X3R5cGVfYmUoQVJSX0VMRU1U WVBFKGEpKSw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKg wqAgwqAgwqAgZm9ybWF0X3R5cGVfYmUoQVJSX0VMRU1UWVBFKGIpKSkpKTs8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PivCoMKgIMKgbWV0YSA9IGFueWFycmF5X2dldF9tZXRhKGZjaW5mbywgQVJSX0VM RU1UWVBFKGEpLCBmYWxzZSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmIChBUlJf TkRJTShhKSA9PSAwKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoCphdmFscyA9IE5VTEw7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqAqYW5lbGVt cyA9IDA7PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2PivCoMKgIMKgZWxzZTwvZGl2Pjxk aXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGRlY29uc3RydWN0 X2FycmF5KGEsIG1ldGEtJmd0O2VsZW1lbnRfdHlwZSwgbWV0YS0mZ3Q7dHlwbGVuLDwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoG1ldGEtJmd0 O3R5cGJ5dmFsLCBtZXRhLSZndDt0eXBhbGlnbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBhdmFscywgJmFtcDtudWxscywgYW5lbGVtcyk7 PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBwZnJlZShudWxscyk7PC9kaXY+PGRpdj4rwqDCoCDC oH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgaWYgKEFSUl9ORElNKGIpID09IDApPC9k aXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgKmJ2YWxz ID0gTlVMTDs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoCpibmVsZW1zID0gMDs8L2Rpdj48ZGl2 PivCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqBlbHNlPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0t IC0tPjwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgZGVjb25zdHJ1Y3RfYXJyYXkoYiwgbWV0YS0m Z3Q7ZWxlbWVudF90eXBlLCBtZXRhLSZndDt0eXBsZW4sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgbWV0YS0mZ3Q7dHlwYnl2YWwsIG1ldGEt Jmd0O3R5cGFsaWduLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoCDCoGJ2YWxzLCAmYW1wO251bGxzLCBibmVsZW1zKTs8L2Rpdj48ZGl2PivCoMKg IMKgwqDCoCDCoHBmcmVlKG51bGxzKTs8L2Rpdj48ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+K8KgwqAgwqByZXR1cm4gbWV0YTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rLyo8L2Rpdj48ZGl2PisgKiBTb3J0ICsgZGUtZHVwIGluIHBsYWNlLiDCoFJldHVy bnMgdGhlIG5ldyBsZW5ndGguPC9kaXY+PGRpdj4rICovPC9kaXY+PGRpdj4rc3RhdGljIGludDwv ZGl2PjxkaXY+K3NvcnRfdW5pcShEYXR1bSAqdmFsdWVzLCBpbnQgbmVsZW1zLCBBbnlBcnJheVR5 cGVJbmZvICptZXRhKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBpZiAo bmVsZW1zICZsdDs9IDEpPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqByZXR1cm4gbmVsZW1zOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBxc29ydF9hcmcodmFsdWVzLCBuZWxlbXMsIHNp emVvZihEYXR1bSksIGFueWFycmF5X2NtcF9kYXR1bSwgbWV0YSk7PC9kaXY+PGRpdj4rwqDCoCDC oHJldHVybiBxdW5pcXVlX2FyZyh2YWx1ZXMsIG5lbGVtcywgc2l6ZW9mKERhdHVtKSw8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoCBhbnlhcnJheV9jbXBf ZGF0dW0sIG1ldGEpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2 PjxkaXY+KyAqIEludGVyc2VjdGlvbjogcmV0dXJucyB0aGUgc29ydGVkLCBkZWR1cGxpY2F0ZWQg dmFsdWVzIHByZXNlbnQgaW4gYm90aDwvZGl2PjxkaXY+KyAqIGlucHV0cy48L2Rpdj48ZGl2Pisg Ki88L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2FueWFycmF5X2ludGVyc2VjdChQR19GVU5D VElPTl9BUkdTKTwvZGl2PjxkaXY+K3s8IS0tIC0tPjwvZGl2PjxkaXY+K8KgwqAgwqBBcnJheVR5 cGUgwqAqYSA9IFBHX0dFVEFSR19BUlJBWVRZUEVfUCgwKTs8L2Rpdj48ZGl2PivCoMKgIMKgQXJy YXlUeXBlIMKgKmIgPSBQR19HRVRBUkdfQVJSQVlUWVBFX1AoMSk7PC9kaXY+PGRpdj4rwqDCoCDC oEFueUFycmF5VHlwZUluZm8gKm1ldGE7PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoCDC oCAqYXYsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgICpidiw8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgKm91dDs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDC oCDCoMKgwqAgwqDCoMKgIMKgYW4sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoGJuLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBpID0gMCw8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgaiA9IDAsPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoGsgPSAwOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8Kg wqAgwqBtZXRhID0gZGVjb25zdHJ1Y3RfdHdvKGZjaW5mbywgYSwgYiwgJmFtcDthdiwgJmFtcDth biwgJmFtcDtidiwgJmFtcDtibik7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGFuID0g c29ydF91bmlxKGF2LCBhbiwgbWV0YSk7PC9kaXY+PGRpdj4rwqDCoCDCoGJuID0gc29ydF91bmlx KGJ2LCBibiwgbWV0YSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoG91dCA9IChEYXR1 bSAqKSBwYWxsb2Moc2l6ZW9mKERhdHVtKSAqIE1pbihhbiwgYm4pKTs8L2Rpdj48ZGl2PivCoMKg IMKgd2hpbGUgKGkgJmx0OyBhbiAmYW1wOyZhbXA7IGogJmx0OyBibik8L2Rpdj48ZGl2PivCoMKg IMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpbnTCoMKgIMKgwqDCoCDCoMKg wqAgwqBjbXAgPSBhbnlhcnJheV9jbXBfZGF0dW0oJmFtcDthdltpXSwgJmFtcDtidltqXSwgbWV0 YSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoY21wID09IDApPC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqBvdXRbaysrXSA9IGF2W2ldOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDC oGkrKzs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBqKys7PC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBlbHNlIGlmIChjbXAgJmx0OyAw KTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGkrKzs8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoGVsc2U8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBqKys7PC9kaXY+PGRp dj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgUEdfUkVUVVJOX0FSUkFZ VFlQRV9QKG1ha2VfYXJyYXlfZnJvbV9kYXR1bXMob3V0LCBrLCBtZXRhKSk7PC9kaXY+PGRpdj4r fTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qPC9kaXY+PGRpdj4rICogVW5pb246IHJldHVybnMg dGhlIHNvcnRlZCwgZGVkdXBsaWNhdGVkIHZhbHVlcyBwcmVzZW50IGluIGVpdGhlciBpbnB1dC48 L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2FueWFycmF5X3VuaW9u KFBHX0ZVTkNUSU9OX0FSR1MpPC9kaXY+PGRpdj4rezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDC oEFycmF5VHlwZSDCoCphID0gUEdfR0VUQVJHX0FSUkFZVFlQRV9QKDApOzwvZGl2PjxkaXY+K8Kg wqAgwqBBcnJheVR5cGUgwqAqYiA9IFBHX0dFVEFSR19BUlJBWVRZUEVfUCgxKTs8L2Rpdj48ZGl2 PivCoMKgIMKgQW55QXJyYXlUeXBlSW5mbyAqbWV0YTs8L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3C oMKgIMKgIMKgICphdiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqAgKmJ2LDwv ZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoCAqb3V0OzwvZGl2PjxkaXY+K8KgwqAg wqBpbnTCoMKgIMKgwqDCoCDCoMKgwqAgwqBhbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgYm4sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoGkg PSAwLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBqID0gMCw8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgayA9IDA7PC9kaXY+PGRpdj4rPC9kaXY+ PGRpdj4rwqDCoCDCoG1ldGEgPSBkZWNvbnN0cnVjdF90d28oZmNpbmZvLCBhLCBiLCAmYW1wO2F2 LCAmYW1wO2FuLCAmYW1wO2J2LCAmYW1wO2JuKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKg IMKgYW4gPSBzb3J0X3VuaXEoYXYsIGFuLCBtZXRhKTs8L2Rpdj48ZGl2PivCoMKgIMKgYm4gPSBz b3J0X3VuaXEoYnYsIGJuLCBtZXRhKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgb3V0 ID0gKERhdHVtICopIHBhbGxvYyhzaXplb2YoRGF0dW0pICogKGFuICsgYm4pKTs8L2Rpdj48ZGl2 PivCoMKgIMKgd2hpbGUgKGkgJmx0OyBhbiAmYW1wOyZhbXA7IGogJmx0OyBibik8L2Rpdj48ZGl2 PivCoMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpbnTCoMKgIMKgwqDC oCDCoMKgwqAgwqBjbXAgPSBhbnlhcnJheV9jbXBfZGF0dW0oJmFtcDthdltpXSwgJmFtcDtidltq XSwgbWV0YSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBpZiAoY21wID09 IDApPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoMKgwqAgwqBvdXRbaysrXSA9IGF2W2ldOzwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoGkrKzs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqBqKys7PC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqB9PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBlbHNlIGlmIChjbXAg Jmx0OyAwKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoG91dFtrKytdID0gYXZbaSsr XTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVsc2U8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDC oMKgwqAgwqBvdXRbaysrXSA9IGJ2W2orK107PC9kaXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2 PivCoMKgIMKgd2hpbGUgKGkgJmx0OyBhbik8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoG91dFtr KytdID0gYXZbaSsrXTs8L2Rpdj48ZGl2PivCoMKgIMKgd2hpbGUgKGogJmx0OyBibik8L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoG91dFtrKytdID0gYnZbaisrXTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PivCoMKgIMKgUEdfUkVUVVJOX0FSUkFZVFlQRV9QKG1ha2VfYXJyYXlfZnJvbV9kYXR1bXMo b3V0LCBrLCBtZXRhKSk7PC9kaXY+PGRpdj4rfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky8qPC9k aXY+PGRpdj4rICogYXJyYXkgfCBlbGVtZW50IDogYWRkIGVsZW1lbnQgaWYgbm90IGFscmVhZHkg cHJlc2VudCwgcmV0dXJuaW5nIHRoZTwvZGl2PjxkaXY+KyAqIHNvcnRlZCwgZGVkdXBsaWNhdGVk IHJlc3VsdC48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2PitEYXR1bTwvZGl2PjxkaXY+K2FueWFy cmF5X3VuaW9uX2VsZW0oUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rp dj48ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmEgPSBQR19HRVRBUkdfQVJSQVlUWVBFX1AoMCk7 PC9kaXY+PGRpdj4rwqDCoCDCoERhdHVtwqDCoCDCoMKgwqAgwqBlbGVtID0gUEdfR0VUQVJHX0RB VFVNKDEpOzwvZGl2PjxkaXY+K8KgwqAgwqBPaWTCoMKgIMKgwqDCoCDCoMKgwqAgwqBlbGVtX3R5 cGUgPSBnZXRfZm5fZXhwcl9hcmd0eXBlKGZjaW5mby0mZ3Q7ZmxpbmZvLCAxKTs8L2Rpdj48ZGl2 PivCoMKgIMKgQW55QXJyYXlUeXBlSW5mbyAqbWV0YTs8L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3C oMKgIMKgIMKgICp2YWx1ZXM7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDC oCDCoG5lbGVtczs8L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgb3V0 X247PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoEFOWUFSUkFZX0NIRUNLX0FSUkFZKGEp OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBpZiAoQVJSX0VMRU1UWVBFKGEpICE9IGVs ZW1fdHlwZSk8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVyZXBvcnQoRVJST1IsPC9kaXY+PGRp dj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoChlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVf TUlTTUFUQ0gpLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgZXJybXNn KCJlbGVtZW50IHR5cGUgZG9lcyBub3QgbWF0Y2ggYXJyYXkgZWxlbWVudCB0eXBlIikpKTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgbWV0YSA9IGFueWFycmF5X2dldF9tZXRhKGZjaW5m bywgQVJSX0VMRU1UWVBFKGEpLCBmYWxzZSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDC oGlmIChBUlJfTkRJTShhKSA9PSAwKTwvZGl2PjxkaXY+K8KgwqAgwqB7PCEtLSAtLT48L2Rpdj48 ZGl2PivCoMKgIMKgwqDCoCDCoG5lbGVtcyA9IDA7PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqB2 YWx1ZXMgPSAoRGF0dW0gKikgcGFsbG9jKHNpemVvZihEYXR1bSkpOzwvZGl2PjxkaXY+K8KgwqAg wqB9PC9kaXY+PGRpdj4rwqDCoCDCoGVsc2U8L2Rpdj48ZGl2PivCoMKgIMKgezwhLS0gLS0+PC9k aXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBib29swqDCoCDCoCDCoCAqbnVsbHM7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBkZWNvbnN0cnVjdF9hcnJheShhLCBtZXRhLSZndDtl bGVtZW50X3R5cGUsIG1ldGEtJmd0O3R5cGxlbiw8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoMKg wqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBtZXRhLSZndDt0eXBieXZhbCwgbWV0YS0mZ3Q7 dHlwYWxpZ24sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDC oMKgIMKgIMKgJmFtcDt2YWx1ZXMsICZhbXA7bnVsbHMsICZhbXA7bmVsZW1zKTs8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoHBmcmVlKG51bGxzKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHZh bHVlcyA9IHJlcGFsbG9jKHZhbHVlcywgc2l6ZW9mKERhdHVtKSAqIChuZWxlbXMgKyAxKSk7PC9k aXY+PGRpdj4rwqDCoCDCoH08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgdmFsdWVzW25l bGVtcysrXSA9IGVsZW07PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoG91dF9uID0gc29y dF91bmlxKHZhbHVlcywgbmVsZW1zLCBtZXRhKTs8L2Rpdj48ZGl2PivCoMKgIMKgUEdfUkVUVVJO X0FSUkFZVFlQRV9QKG1ha2VfYXJyYXlfZnJvbV9kYXR1bXModmFsdWVzLCBvdXRfbiwgbWV0YSkp OzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisvKjwvZGl2PjxkaXY+KyAqIERp ZmZlcmVuY2U6IHJldHVybnMgc29ydGVkLCBkZWR1cGxpY2F0ZWQgdmFsdWVzIGZyb20gImEiIHRo YXQgYXJlIG5vdCBpbjwvZGl2PjxkaXY+KyAqICJiIi48L2Rpdj48ZGl2PisgKi88L2Rpdj48ZGl2 PitEYXR1bTwvZGl2PjxkaXY+K2FueWFycmF5X2RpZmZlcmVuY2UoUEdfRlVOQ1RJT05fQVJHUyk8 L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKgIMKgQXJyYXlUeXBlIMKgKmEgPSBQ R19HRVRBUkdfQVJSQVlUWVBFX1AoMCk7PC9kaXY+PGRpdj4rwqDCoCDCoEFycmF5VHlwZSDCoCpi ID0gUEdfR0VUQVJHX0FSUkFZVFlQRV9QKDEpOzwvZGl2PjxkaXY+K8KgwqAgwqBBbnlBcnJheVR5 cGVJbmZvICptZXRhOzwvZGl2PjxkaXY+K8KgwqAgwqBEYXR1bcKgwqAgwqAgwqAgKmF2LDwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoCDCoCAqYnYsPC9kaXY+PGRpdj4rwqDCoCDCoMKg wqAgwqDCoMKgIMKgIMKgICpvdXQ7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKg wqDCoCDCoGFuLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqBibiw8L2Rp dj48ZGl2PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgaSA9IDAsPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoGogPSAwLDwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKg wqDCoCDCoMKgwqAgwqBrID0gMDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKgbWV0YSA9 IGRlY29uc3RydWN0X3R3byhmY2luZm8sIGEsIGIsICZhbXA7YXYsICZhbXA7YW4sICZhbXA7YnYs ICZhbXA7Ym4pOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBhbiA9IHNvcnRfdW5pcShh diwgYW4sIG1ldGEpOzwvZGl2PjxkaXY+K8KgwqAgwqBibiA9IHNvcnRfdW5pcShidiwgYm4sIG1l dGEpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBvdXQgPSAoRGF0dW0gKikgcGFsbG9j KHNpemVvZihEYXR1bSkgKiBhbik7PC9kaXY+PGRpdj4rwqDCoCDCoHdoaWxlIChpICZsdDsgYW4g JmFtcDsmYW1wOyBqICZsdDsgYm4pPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgY21wID0gYW55YXJyYXlf Y21wX2RhdHVtKCZhbXA7YXZbaV0sICZhbXA7YnZbal0sIG1ldGEpOzwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgaWYgKGNtcCA9PSAwKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgaSsrOzwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGorKzs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoH08 L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoGVsc2UgaWYgKGNtcCAmbHQ7IDApPC9kaXY+PGRpdj4r wqDCoCDCoMKgwqAgwqDCoMKgIMKgb3V0W2srK10gPSBhdltpKytdOzwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgZWxzZTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKgIMKgwqDCoCDCoGorKzs8L2Rpdj48 ZGl2PivCoMKgIMKgfTwvZGl2PjxkaXY+K8KgwqAgwqB3aGlsZSAoaSAmbHQ7IGFuKTwvZGl2Pjxk aXY+K8KgwqAgwqDCoMKgIMKgb3V0W2srK10gPSBhdltpKytdOzwvZGl2PjxkaXY+KzwvZGl2Pjxk aXY+K8KgwqAgwqBQR19SRVRVUk5fQVJSQVlUWVBFX1AobWFrZV9hcnJheV9mcm9tX2RhdHVtcyhv dXQsIGssIG1ldGEpKTs8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLyo8L2Rp dj48ZGl2PisgKiBhcnJheSAtIGVsZW1lbnQgOiByZW1vdmUgYWxsIG9jY3VycmVuY2VzIG9mICJl bGVtIiwgcHJlc2VydmluZyBvcmRlci48L2Rpdj48ZGl2PisgKiAoTm90ZTogaW50YXJyYXkgcmV0 dXJucyB0aGUgaW5wdXQgb3JkZXItcHJlc2VydmVkOyB3ZSBkbyB0aGUgc2FtZS4pPC9kaXY+PGRp dj4rICovPC9kaXY+PGRpdj4rRGF0dW08L2Rpdj48ZGl2PithbnlhcnJheV9kaWZmZXJlbmNlX2Vs ZW0oUEdfRlVOQ1RJT05fQVJHUyk8L2Rpdj48ZGl2Pit7PCEtLSAtLT48L2Rpdj48ZGl2PivCoMKg IMKgQXJyYXlUeXBlIMKgKmEgPSBQR19HRVRBUkdfQVJSQVlUWVBFX1AoMCk7PC9kaXY+PGRpdj4r wqDCoCDCoERhdHVtwqDCoCDCoMKgwqAgwqBlbGVtID0gUEdfR0VUQVJHX0RBVFVNKDEpOzwvZGl2 PjxkaXY+K8KgwqAgwqBPaWTCoMKgIMKgwqDCoCDCoMKgwqAgwqBlbGVtX3R5cGUgPSBnZXRfZm5f ZXhwcl9hcmd0eXBlKGZjaW5mby0mZ3Q7ZmxpbmZvLCAxKTs8L2Rpdj48ZGl2PivCoMKgIMKgQW55 QXJyYXlUeXBlSW5mbyAqbWV0YTs8L2Rpdj48ZGl2PivCoMKgIMKgRGF0dW3CoMKgIMKgIMKgICp2 YWx1ZXM7PC9kaXY+PGRpdj4rwqDCoCDCoGludMKgwqAgwqDCoMKgIMKgwqDCoCDCoG5lbGVtczs8 L2Rpdj48ZGl2PivCoMKgIMKgaW50wqDCoCDCoMKgwqAgwqDCoMKgIMKgaSw8L2Rpdj48ZGl2PivC oMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgayA9IDA7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r wqDCoCDCoEFOWUFSUkFZX0NIRUNLX0FSUkFZKGEpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8Kg wqAgwqBpZiAoQVJSX0VMRU1UWVBFKGEpICE9IGVsZW1fdHlwZSk8L2Rpdj48ZGl2PivCoMKgIMKg wqDCoCDCoGVyZXBvcnQoRVJST1IsPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDC oCDCoChlcnJjb2RlKEVSUkNPREVfREFUQVRZUEVfTUlTTUFUQ0gpLDwvZGl2PjxkaXY+K8KgwqAg wqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgZXJybXNnKCJlbGVtZW50IHR5cGUgZG9lcyBub3QgbWF0 Y2ggYXJyYXkgZWxlbWVudCB0eXBlIikpKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivCoMKgIMKg bWV0YSA9IGFueWFycmF5X2dldF9tZXRhKGZjaW5mbywgQVJSX0VMRU1UWVBFKGEpLCBmYWxzZSk7 PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoGlmIChBUlJfTkRJTShhKSA9PSAwKTwvZGl2 PjxkaXY+K8KgwqAgwqDCoMKgIMKgUEdfUkVUVVJOX0FSUkFZVFlQRV9QKGNvbnN0cnVjdF9lbXB0 eV9hcnJheShtZXRhLSZndDtlbGVtZW50X3R5cGUpKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PivC oMKgIMKgezwhLS0gLS0+PC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBib29swqDCoCDCoCDCoCAq bnVsbHM7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqBkZWNvbnN0cnVjdF9h cnJheShhLCBtZXRhLSZndDtlbGVtZW50X3R5cGUsIG1ldGEtJmd0O3R5cGxlbiw8L2Rpdj48ZGl2 PivCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqAgwqBtZXRhLSZndDt0 eXBieXZhbCwgbWV0YS0mZ3Q7dHlwYWxpZ24sPC9kaXY+PGRpdj4rwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgIMKgJmFtcDt2YWx1ZXMsICZhbXA7bnVsbHMsICZhbXA7 bmVsZW1zKTs8L2Rpdj48ZGl2PivCoMKgIMKgwqDCoCDCoHBmcmVlKG51bGxzKTs8L2Rpdj48ZGl2 PivCoMKgIMKgfTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8KgwqAgwqBmb3IgKGkgPSAwOyBpICZs dDsgbmVsZW1zOyBpKyspPC9kaXY+PGRpdj4rwqDCoCDCoHs8IS0tIC0tPjwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgRGF0dW3CoMKgIMKgwqDCoCDCoGVxID0gRnVuY3Rpb25DYWxsMkNvbGwoJmFt cDttZXRhLSZndDtlcV9wcm9jLCBtZXRhLSZndDt0eXBjb2xsYXRpb24sPC9kaXY+PGRpdj4rwqDC oCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKgIMKgwqDCoCDCoMKgwqAgwqDCoMKg IMKgwqDCoCDCoCDCoCB2YWx1ZXNbaV0sIGVsZW0pOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K8Kg wqAgwqDCoMKgIMKgaWYgKCFEYXR1bUdldEJvb2woZXEpKTwvZGl2PjxkaXY+K8KgwqAgwqDCoMKg IMKgwqDCoCDCoHZhbHVlc1trKytdID0gdmFsdWVzW2ldOzwvZGl2PjxkaXY+K8KgwqAgwqB9PC9k aXY+PGRpdj4rPC9kaXY+PGRpdj4rwqDCoCDCoFBHX1JFVFVSTl9BUlJBWVRZUEVfUChtYWtlX2Fy cmF5X2Zyb21fZGF0dW1zKHZhbHVlcywgaywgbWV0YSkpOzwvZGl2PjxkaXY+K308L2Rpdj48ZGl2 PmRpZmYgLS1naXQgYS9jb250cmliL2FueWFycmF5L2V4cGVjdGVkL2FueWFycmF5Lm91dCBiL2Nv bnRyaWIvYW55YXJyYXkvZXhwZWN0ZWQvYW55YXJyYXkub3V0PC9kaXY+PGRpdj5uZXcgZmlsZSBt b2RlIDEwMDY0NDwvZGl2PjxkaXY+aW5kZXggMDAwMDAwMDAwMDAuLmIxN2M2ZWYwMzNlPC9kaXY+ PGRpdj4tLS0gL2Rldi9udWxsPC9kaXY+PGRpdj4rKysgYi9jb250cmliL2FueWFycmF5L2V4cGVj dGVkL2FueWFycmF5Lm91dDwvZGl2PjxkaXY+QEAgLTAsMCArMSw3MjcgQEA8L2Rpdj48ZGl2PitD UkVBVEUgRVhURU5TSU9OIGFueWFycmF5OzwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rLS0gUGhh c2UgMTogc2V0IG9wZXJhdGlvbnMsIGhlbHBlcnMgYW5kIG9wZXJhdG9ycyBmb3IgaW50OCwgdXVp ZCwgdGV4dDwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rLS0gPT09PT0gaW50OCA9PT09PTwvZGl2 PjxkaXY+K1NFTEVDVCBhbnlhcnJheV9zb3J0KEFSUkFZWzMsIDEsIDIsIDFdOjppbnQ4W10pOzwv ZGl2PjxkaXY+KyBhbnlhcnJheV9zb3J0wqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tLS0tLS08L2Rp dj48ZGl2PisgezEsMSwyLDN9PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2Pjxk aXY+K1NFTEVDVCBhbnlhcnJheV9zb3J0KEFSUkFZWzMsIDEsIDIsIDFdOjppbnQ4W10sICdkZXNj Jyk7PC9kaXY+PGRpdj4rIGFueWFycmF5X3NvcnTCoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS0tLS0t LTwvZGl2PjxkaXY+KyB7MywyLDEsMX08L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rU0VMRUNUIGFueWFycmF5X3NvcnQoQVJSQVlbXTo6aW50OFtdKTs8L2Rpdj48ZGl2 PisgYW55YXJyYXlfc29ydMKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4r IHt9PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBhbnlh cnJheV91bmlxKEFSUkFZWzEsIDEsIDIsIDMsIDMsIDJdOjppbnQ4W10pOzwvZGl2PjxkaXY+KyBh bnlhcnJheV91bmlxwqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgezEs MiwzfTwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgYW55 YXJyYXlfaWR4KEFSUkFZWzEwLCAyMCwgMzBdOjppbnQ4W10sIDIwOjppbnQ4KTs8L2Rpdj48ZGl2 PisgYW55YXJyYXlfaWR4wqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoCDCoCDCoDI8L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rU0VMRUNUIGFueWFycmF5X2lkeChBUlJBWVsxMCwgMjAsIDMwXTo6aW50OFtdLCA5OTo6aW50 OCk7PC9kaXY+PGRpdj4rIGFueWFycmF5X2lkeMKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS08 L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgwqAgwqAwPC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBhbnlhcnJheV9zdWJhcnJheShBUlJBWVsxLDIsMyw0LDVd OjppbnQ4W10sIDIsIDIpOzwvZGl2PjxkaXY+KyBhbnlhcnJheV9zdWJhcnJhecKgPC9kaXY+PGRp dj4rLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyB7MiwzfTwvZGl2PjxkaXY+KygxIHJv dyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfc3ViYXJyYXkoQVJSQVlb MSwyLDMsNCw1XTo6aW50OFtdLCAzKTs8L2Rpdj48ZGl2PisgYW55YXJyYXlfc3ViYXJyYXnCoDwv ZGl2PjxkaXY+Ky0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgezMsNCw1fTwvZGl2Pjxk aXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfc3ViYXJy YXkoQVJSQVlbMSwyLDNdOjppbnQ4W10sIDUsIDEpOzwvZGl2PjxkaXY+KyBhbnlhcnJheV9zdWJh cnJhecKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyB7fTwvZGl2 PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwyLDNd OjppbnQ4W10gJmFtcDsgQVJSQVlbMiwzLDRdOjppbnQ4W107PC9kaXY+PGRpdj4rID9jb2x1bW4/ wqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tPC9kaXY+PGRpdj4rIHsyLDN9PC9kaXY+PGRpdj4rKDEg cm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDIsM106OmludDhbXSB8 IEFSUkFZWzMsNCw1XTo6aW50OFtdOzwvZGl2PjxkaXY+KyDCoD9jb2x1bW4/IMKgwqA8L2Rpdj48 ZGl2PistLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rIHsxLDIsMyw0LDV9PC9kaXY+PGRpdj4rKDEg cm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDIsM106OmludDhbXSB8 IDQ6OmludDg7PC9kaXY+PGRpdj4rID9jb2x1bW4/IMKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS08 L2Rpdj48ZGl2PisgezEsMiwzLDR9PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDIsMyw0XTo6aW50OFtdIC0gQVJSQVlbMiw0XTo6aW50OFtd OzwvZGl2PjxkaXY+KyA/Y29sdW1uP8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLTwvZGl2PjxkaXY+ KyB7MSwzfTwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1Qg QVJSQVlbMSwyLDIsMywyXTo6aW50OFtdIC0gMjo6aW50ODs8L2Rpdj48ZGl2PisgP2NvbHVtbj/C oDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rpdj48ZGl2PisgezEsM308L2Rpdj48ZGl2PisoMSBy b3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUICMgQVJSQVlbMTAsMjAsMzBdOjppbnQ4 W107PC9kaXY+PGRpdj4rID9jb2x1bW4/wqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tPC9kaXY+PGRp dj4rIMKgIMKgIMKgIMKgMzwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PitTRUxFQ1QgQVJSQVlbMTAsMjAsMzBdOjppbnQ4W10gIyAyMDo6aW50ODs8L2Rpdj48ZGl2Pisg P2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAy PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tID09PT09IHV1aWQg PT09PT08L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfc29ydChBUlJBWVs8L2Rpdj48ZGl2Pisg wqAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAzJzo6dXVpZCw8L2Rpdj48ZGl2 PisgwqAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxJyw8L2Rpdj48ZGl2Pisg wqAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyJ10pOzwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoGFueWFycmF5X3NvcnQgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqDCoDwvZGl2Pjxk aXY+Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLTwvZGl2PjxkaXY+KyB7MDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxLDAw MDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMiwwMDAwMDAwMC0wMDAwLTAwMDAtMDAw MC0wMDAwMDAwMDAwMDN9PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ K1NFTEVDVCBhbnlhcnJheV91bmlxKEFSUkFZWzwvZGl2PjxkaXY+KyDCoCcwMDAwMDAwMC0wMDAw LTAwMDAtMDAwMC0wMDAwMDAwMDAwMDEnOjp1dWlkLDwvZGl2PjxkaXY+KyDCoCcwMDAwMDAwMC0w MDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDEnLDwvZGl2PjxkaXY+KyDCoCcwMDAwMDAwMC0wMDAw LTAwMDAtMDAwMC0wMDAwMDAwMDAwMDInXSk7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgYW55YXJyYXlfdW5pcSDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPC9kaXY+PGRpdj4rIHswMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAw MDEsMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyfTwvZGl2PjxkaXY+KygxIHJv dyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfaWR4KEFSUkFZWzwvZGl2 PjxkaXY+KyDCoCcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDEnOjp1dWlkLDwv ZGl2PjxkaXY+KyDCoCcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDInXSw8L2Rp dj48ZGl2PisgwqAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyJzo6dXVpZCk7 PC9kaXY+PGRpdj4rIGFueWFycmF5X2lkeMKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS08L2Rp dj48ZGl2PisgwqAgwqAgwqAgwqAgwqAgwqAyPC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+ KzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAw MDAwMDAxJzo6dXVpZCw8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgwqAgwqAgJzAwMDAwMDAwLTAw MDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMiddPC9kaXY+PGRpdj4rIMKgIMKgICZhbXA7IEFSUkFZ WycwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDInOjp1dWlkLDwvZGl2PjxkaXY+ KyDCoCDCoCDCoCDCoCDCoCDCoCAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAz J107PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgP2NvbHVtbj8gwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tPC9kaXY+PGRpdj4rIHswMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAw MDJ9PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJB WVsnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxJzo6dXVpZF08L2Rpdj48ZGl2 PisgwqAgwqAgfCAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyJzo6dXVpZDs8 L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqA/Y29sdW1uPyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoMKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgezAw MDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMSwwMDAwMDAwMC0wMDAwLTAwMDAtMDAw MC0wMDAwMDAwMDAwMDJ9PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ Ky0tID09PT09IHRleHQgPT09PT08L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfc29ydChBUlJB WVsnYmFuYW5hJywnYXBwbGUnLCdjaGVycnknXSk7PC9kaXY+PGRpdj4rIMKgIMKgIGFueWFycmF5 X3NvcnQgwqAgwqDCoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRp dj4rIHthcHBsZSxiYW5hbmEsY2hlcnJ5fTwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfc29ydChBUlJBWVsnYmFuYW5hJywnYXBwbGUnLCdj aGVycnknXSwgJ2Rlc2MnKTs8L2Rpdj48ZGl2PisgwqAgwqAgYW55YXJyYXlfc29ydCDCoCDCoMKg PC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2Pisge2NoZXJyeSxi YW5hbmEsYXBwbGV9PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NF TEVDVCBhbnlhcnJheV91bmlxKEFSUkFZWydhJywnYicsJ2EnLCdjJywnYiddKTs8L2Rpdj48ZGl2 PisgYW55YXJyYXlfdW5pccKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4r IHthLGIsY308L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNU IGFueWFycmF5X2lkeChBUlJBWVsnYScsJ2InLCdjJ10sICdiJzo6dGV4dCk7PC9kaXY+PGRpdj4r IGFueWFycmF5X2lkeMKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2PisgwqAg wqAgwqAgwqAgwqAgwqAyPC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ K1NFTEVDVCBBUlJBWVsnYScsJ2InLCdjJ106OnRleHRbXSAmYW1wOyBBUlJBWVsnYicsJ2MnLCdk J106OnRleHRbXTs8L2Rpdj48ZGl2PisgP2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08 L2Rpdj48ZGl2Pisge2IsY308L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rU0VMRUNUIEFSUkFZWydhJywnYicsJ2MnXTo6dGV4dFtdIHwgJ2QnOjp0ZXh0OzwvZGl2Pjxk aXY+KyA/Y29sdW1uPyDCoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rIHthLGIs YyxkfTwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgQVJS QVlbJ2EnLCdiJywnYycsJ2InXTo6dGV4dFtdIC0gJ2InOjp0ZXh0OzwvZGl2PjxkaXY+KyA/Y29s dW1uP8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyB7YSxjfTwvZGl2PjxkaXY+ KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSA9PT09PSBlcnJvciBjYXNlcyA9PT09 PTwvZGl2PjxkaXY+Ky0tIG11bHRpLWRpbTwvZGl2PjxkaXY+K1NFTEVDVCBhbnlhcnJheV9zb3J0 KEFSUkFZW1sxLDJdLFszLDRdXTo6aW50OFtdKTs8L2Rpdj48ZGl2PitFUlJPUjogwqBtdWx0aWRp bWVuc2lvbmFsIGFycmF5cyBhcmUgbm90IHN1cHBvcnRlZDwvZGl2PjxkaXY+Ky0tIG51bGxzPC9k aXY+PGRpdj4rU0VMRUNUIGFueWFycmF5X3NvcnQoQVJSQVlbMSwgTlVMTCwgMl06OmludDhbXSk7 PC9kaXY+PGRpdj4rRVJST1I6IMKgYXJyYXkgbXVzdCBub3QgY29udGFpbiBudWxsczwvZGl2Pjxk aXY+Ky0tIGJhZCBkaXJlY3Rpb248L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfc29ydChBUlJB WVsxLDIsM106OmludDhbXSwgJ2JvZ3VzJyk7PC9kaXY+PGRpdj4rRVJST1I6IMKgc2Vjb25kIHBh cmFtZXRlciBtdXN0IGJlICJhc2MiIG9yICJkZXNjIjwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4r LS0gUGhhc2UgMjogYW55cXVlcnkgYW5kIEBAIG9wZXJhdG9yPC9kaXY+PGRpdj4rLS08L2Rpdj48 ZGl2PistLSBwYXJzaW5nICsgb3V0cHV0IHJvdW5kLXRyaXA8L2Rpdj48ZGl2PitTRUxFQ1QgJzEg JmFtcDsgMic6OmFueXF1ZXJ5Ojp0ZXh0OzwvZGl2PjxkaXY+KyB0ZXh0IMKgPC9kaXY+PGRpdj4r LS0tLS0tLTwvZGl2PjxkaXY+KyAxICZhbXA7IDI8L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rU0VMRUNUICcxICZhbXA7IDIgfCAzJzo6YW55cXVlcnk6OnRleHQ7PC9k aXY+PGRpdj4rIMKgIHRleHQgwqAgwqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tLTwvZGl2PjxkaXY+ KyAxICZhbXA7IDIgfCAzPC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ K1NFTEVDVCAnKDEgfCAyKSAmYW1wOyAzJzo6YW55cXVlcnk6OnRleHQ7PC9kaXY+PGRpdj4rIMKg IMKgIHRleHQgwqAgwqAgwqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2Pisg KCAxIHwgMiApICZhbXA7IDM8L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRp dj4rU0VMRUNUICchMSAmYW1wOyAyJzo6YW55cXVlcnk6OnRleHQ7PC9kaXY+PGRpdj4rIMKgdGV4 dCDCoDwvZGl2PjxkaXY+Ky0tLS0tLS0tPC9kaXY+PGRpdj4rICExICZhbXA7IDI8L2Rpdj48ZGl2 PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUICchKDEgfCAyKSAmYW1wOyAz Jzo6YW55cXVlcnk6OnRleHQ7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgdGV4dCDCoCDCoCDCoCDC oDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rICEoICggMSB8IDIg KSApICZhbXA7IDM8L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VM RUNUICciaGVsbG8gd29ybGQiIHwgZm9vJzo6YW55cXVlcnk6OnRleHQ7PC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgdGV4dCDCoCDCoCDCoCDCoMKgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS0tLS0t LS0tPC9kaXY+PGRpdj4rICJoZWxsbyB3b3JsZCIgfCBmb288L2Rpdj48ZGl2PisoMSByb3cpPC9k aXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUIGFueXF1ZXJ5X3F1ZXJ5dHJlZSgnMSAmYW1wOyAy IHwgMyc6OmFueXF1ZXJ5KTs8L2Rpdj48ZGl2PisgYW55cXVlcnlfcXVlcnl0cmVlwqA8L2Rpdj48 ZGl2PistLS0tLS0tLS0tLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyAxIDIgJmFtcDsgMyB8PC9kaXY+ PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIGludDggbWF0Y2hpbmc8L2Rp dj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwyLDNdOjppbnQ4W10gQEAgJzEnOjphbnlxdWVyeTs8L2Rp dj48ZGl2PisgP2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rpdj48ZGl2PisgdDwv ZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwy LDNdOjppbnQ4W10gQEAgJzEgJmFtcDsgMic6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+KyA/Y29sdW1u P8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyB0PC9kaXY+PGRpdj4rKDEgcm93 KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDIsM106OmludDhbXSBAQCAn MSAmYW1wOyA0Jzo6YW55cXVlcnk7PC9kaXY+PGRpdj4rID9jb2x1bW4/wqA8L2Rpdj48ZGl2Pist LS0tLS0tLS0tPC9kaXY+PGRpdj4rIGY8L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9k aXY+PGRpdj4rU0VMRUNUIEFSUkFZWzEsMiwzXTo6aW50OFtdIEBAICcxIHwgNCc6OmFueXF1ZXJ5 OzwvZGl2PjxkaXY+KyA/Y29sdW1uP8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLTwvZGl2PjxkaXY+ KyB0PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJB WVsxLDIsM106OmludDhbXSBAQCAnITQnOjphbnlxdWVyeTs8L2Rpdj48ZGl2PisgP2NvbHVtbj/C oDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rpdj48ZGl2PisgdDwvZGl2PjxkaXY+KygxIHJvdyk8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwyLDNdOjppbnQ4W10gQEAgJyEx Jzo6YW55cXVlcnk7PC9kaXY+PGRpdj4rID9jb2x1bW4/wqA8L2Rpdj48ZGl2PistLS0tLS0tLS0t PC9kaXY+PGRpdj4rIGY8L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r U0VMRUNUIEFSUkFZWzEsMiwzXTo6aW50OFtdIEBAICchNCAmYW1wOyAxJzo6YW55cXVlcnk7PC9k aXY+PGRpdj4rID9jb2x1bW4/wqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tPC9kaXY+PGRpdj4rIHQ8 L2Rpdj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZWzEs MiwzXTo6aW50OFtdIEBAICcoMSB8IDQpICZhbXA7ICgyIHwgNSknOjphbnlxdWVyeTs8L2Rpdj48 ZGl2PisgP2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rpdj48ZGl2PisgdDwvZGl2 PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSBjb21tdXRhdG9yPC9kaXY+ PGRpdj4rU0VMRUNUICcxICZhbXA7IDInOjphbnlxdWVyeSB+fiBBUlJBWVsxLDIsM106OmludDhb XTs8L2Rpdj48ZGl2PisgP2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rpdj48ZGl2 PisgdDwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgJzEg JmFtcDsgNCc6OmFueXF1ZXJ5IH5+IEFSUkFZWzEsMiwzXTo6aW50OFtdOzwvZGl2PjxkaXY+KyA/ Y29sdW1uP8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyBmPC9kaXY+PGRpdj4r KDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIHV1aWQ8L2Rpdj48ZGl2PitTRUxFQ1Qg QVJSQVlbJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMSc6OnV1aWQsPC9kaXY+ PGRpdj4rIMKgIMKgIMKgIMKgIMKgIMKgICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAw MDAwMDInXTwvZGl2PjxkaXY+KyDCoCDCoCDCoCBAQCAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAt MDAwMDAwMDAwMDAxICZhbXA7IDAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMic6 OmFueXF1ZXJ5OzwvZGl2PjxkaXY+KyA/Y29sdW1uP8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLTwv ZGl2PjxkaXY+KyB0PC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NF TEVDVCBBUlJBWVsnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxJzo6dXVpZF08 L2Rpdj48ZGl2PisgwqAgwqAgwqAgQEAgJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAw MDAwMic6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+KyA/Y29sdW1uP8KgPC9kaXY+PGRpdj4rLS0tLS0t LS0tLTwvZGl2PjxkaXY+KyBmPC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2Pjxk aXY+Ky0tIHRleHQ8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbJ2FwcGxlJywnYmFuYW5hJywnY2hl cnJ5J106OnRleHRbXSBAQCAnYXBwbGUgJmFtcDsgYmFuYW5hJzo6YW55cXVlcnk7PC9kaXY+PGRp dj4rID9jb2x1bW4/wqA8L2Rpdj48ZGl2PistLS0tLS0tLS0tPC9kaXY+PGRpdj4rIHQ8L2Rpdj48 ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZWydhcHBsZScs J2JhbmFuYScsJ2NoZXJyeSddOjp0ZXh0W10gQEAgJyJiYW5hbmEiIHwgZ3JhcGUnOjphbnlxdWVy eTs8L2Rpdj48ZGl2PisgP2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rpdj48ZGl2 PisgdDwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgQVJS QVlbJ2FwcGxlJywnYmFuYW5hJywnY2hlcnJ5J106OnRleHRbXSBAQCAnZHVyaWFuIHwgZ3JhcGUn OjphbnlxdWVyeTs8L2Rpdj48ZGl2PisgP2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08 L2Rpdj48ZGl2PisgZjwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2Pist LSBlbXB0eSBhcnJheTwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVtdOjppbnQ4W10gQEAgJzEnOjph bnlxdWVyeTs8L2Rpdj48ZGl2PisgP2NvbHVtbj/CoDwvZGl2PjxkaXY+Ky0tLS0tLS0tLS08L2Rp dj48ZGl2PisgZjwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxF Q1QgQVJSQVlbXTo6aW50OFtdIEBAICchMSc6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+KyA/Y29sdW1u P8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLTwvZGl2PjxkaXY+KyB0PC9kaXY+PGRpdj4rKDEgcm93 KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIHBhcnNlIGVycm9yczwvZGl2PjxkaXY+K1NFTEVD VCAnJzo6YW55cXVlcnk7PC9kaXY+PGRpdj4rRVJST1I6IMKgdW5leHBlY3RlZCBlbmQgb2YgaW5w dXQgaW4gYW55cXVlcnk8L2Rpdj48ZGl2PitMSU5FIDE6IFNFTEVDVCAnJzo6YW55cXVlcnk7PC9k aXY+PGRpdj4rIMKgIMKgIMKgIMKgIMKgIMKgIMKgIF48L2Rpdj48ZGl2PitTRUxFQ1QgJzEgJmFt cDsnOjphbnlxdWVyeTs8L2Rpdj48ZGl2PitFUlJPUjogwqB1bmV4cGVjdGVkIGVuZCBvZiBpbnB1 dCBpbiBhbnlxdWVyeTwvZGl2PjxkaXY+K0xJTkUgMTogU0VMRUNUICcxICZhbXA7Jzo6YW55cXVl cnk7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIMKgIMKgIMKgIF48L2Rpdj48ZGl2PitTRUxFQ1Qg JzEgJmFtcDsgKDInOjphbnlxdWVyeTs8L2Rpdj48ZGl2PitFUlJPUjogwqBtaXNzaW5nIGNsb3Np bmcgcGFyZW50aGVzaXMgaW4gYW55cXVlcnk8L2Rpdj48ZGl2PitMSU5FIDE6IFNFTEVDVCAnMSAm YW1wOyAoMic6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBePC9k aXY+PGRpdj4rU0VMRUNUICcxICkgMic6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+K0VSUk9SOiDCoHVu ZXhwZWN0ZWQgdHJhaWxpbmcgaW5wdXQgaW4gYW55cXVlcnk8L2Rpdj48ZGl2PitMSU5FIDE6IFNF TEVDVCAnMSApIDInOjphbnlxdWVyeTs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgwqAgwqAgwqAg XjwvZGl2PjxkaXY+Ky0tIHJ1bnRpbWUgZXJyb3JzOiB0b2tlbiBjYW5ub3QgYmUgcGFyc2VkIGFz IGVsZW1lbnQgdHlwZTwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDJdOjppbnQ4W10gQEAgJ2Fi Yyc6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+K0VSUk9SOiDCoGludmFsaWQgaW5wdXQgc3ludGF4IGZv ciB0eXBlIGJpZ2ludDogImFiYyI8L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+Ky0tIFBoYXNlIDM6 IEdpU1Qgc2lnbmF0dXJlIGluZGV4PC9kaXY+PGRpdj4rLS08L2Rpdj48ZGl2PistLSBhbXZhbGlk YXRlOiB3ZWxsLWZvcm1lZCBvcGNsYXNzPC9kaXY+PGRpdj4rU0VMRUNUIGFtbmFtZSwgb3BjbmFt ZSBGUk9NIHBnX29wY2xhc3Mgb3BjPC9kaXY+PGRpdj4rTEVGVCBKT0lOIHBnX2FtIGFtIE9OIGFt Lm9pZCA9IG9wY21ldGhvZDwvZGl2PjxkaXY+K1dIRVJFIG9wYy5vcGNuYW1lID0gJ2FueWFycmF5 X2dpc3Rfb3BzJyBBTkQgTk9UIGFtdmFsaWRhdGUob3BjLm9pZCk7PC9kaXY+PGRpdj4rIGFtbmFt ZSB8IG9wY25hbWXCoDwvZGl2PjxkaXY+Ky0tLS0tLS0tKy0tLS0tLS0tLTwvZGl2PjxkaXY+Kygw IHJvd3MpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gaW50OCBHaVNUOiBidWlsZCBkZXRlcm1p bmlzdGljIHRhYmxlPC9kaXY+PGRpdj4rQ1JFQVRFIFRBQkxFIGFueWFycmF5X2dpc3RfaW50OCAo aWQgaW50LCBhIGludDhbXSk7PC9kaXY+PGRpdj4rSU5TRVJUIElOVE8gYW55YXJyYXlfZ2lzdF9p bnQ4IFZBTFVFUzwvZGl2PjxkaXY+KyDCoCgxLCBBUlJBWVsxLDIsM106OmludDhbXSksPC9kaXY+ PGRpdj4rIMKgKDIsIEFSUkFZWzEwLDIwLDMwXTo6aW50OFtdKSw8L2Rpdj48ZGl2PisgwqAoMywg QVJSQVlbMTAsMjAsMzBdOjppbnQ4W10pLDwvZGl2PjxkaXY+KyDCoCg0LCBBUlJBWVsxLDIsMyw0 LDVdOjppbnQ4W10pLDwvZGl2PjxkaXY+KyDCoCg1LCBBUlJBWVsxMDAsMjAwXTo6aW50OFtdKTs8 L2Rpdj48ZGl2PitDUkVBVEUgSU5ERVggYW55YXJyYXlfZ2lzdF9pbnQ4X2lkeDwvZGl2PjxkaXY+ KyDCoE9OIGFueWFycmF5X2dpc3RfaW50OCBVU0lORyBnaXN0KGEgYW55YXJyYXlfZ2lzdF9vcHMp OzwvZGl2PjxkaXY+K1NFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjs8L2Rpdj48ZGl2PitTRUxFQ1Qg aWQgRlJPTSBhbnlhcnJheV9naXN0X2ludDggV0hFUkUgYSBAJmd0OyBBUlJBWVsxLDJdOjppbnQ4 W10gT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rIGlkwqA8L2Rpdj48ZGl2PistLS0tPC9kaXY+PGRp dj4rIMKgMTwvZGl2PjxkaXY+KyDCoDQ8L2Rpdj48ZGl2PisoMiByb3dzKTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpc3RfaW50OCBXSEVSRSBhICZhbXA7 JmFtcDsgQVJSQVlbMTAsMjAwXTo6aW50OFtdIE9SREVSIEJZIGlkOzwvZGl2PjxkaXY+KyBpZMKg PC9kaXY+PGRpdj4rLS0tLTwvZGl2PjxkaXY+KyDCoDI8L2Rpdj48ZGl2PisgwqAzPC9kaXY+PGRp dj4rIMKgNTwvZGl2PjxkaXY+KygzIHJvd3MpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNU IGlkIEZST00gYW55YXJyYXlfZ2lzdF9pbnQ4IFdIRVJFIGEgPSBBUlJBWVsxMCwyMCwzMF06Omlu dDhbXSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48 ZGl2PisgwqAyPC9kaXY+PGRpdj4rIMKgMzwvZGl2PjxkaXY+KygyIHJvd3MpPC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2lzdF9pbnQ4IFdIRVJFIGEgJmx0 O0AgQVJSQVlbMSwyLDMsNCw1XTo6aW50OFtdIE9SREVSIEJZIGlkOzwvZGl2PjxkaXY+KyBpZMKg PC9kaXY+PGRpdj4rLS0tLTwvZGl2PjxkaXY+KyDCoDE8L2Rpdj48ZGl2PisgwqA0PC9kaXY+PGRp dj4rKDIgcm93cyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBhbnlhcnJh eV9naXN0X2ludDggV0hFUkUgYSBAQCAnMTAgJmFtcDsgMjAnOjphbnlxdWVyeSBPUkRFUiBCWSBp ZDs8L2Rpdj48ZGl2PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48ZGl2PisgwqAyPC9kaXY+ PGRpdj4rIMKgMzwvZGl2PjxkaXY+KygyIHJvd3MpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VM RUNUIGlkIEZST00gYW55YXJyYXlfZ2lzdF9pbnQ4IFdIRVJFIGEgQEAgJzEgfCAxMDAnOjphbnlx dWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48 ZGl2PisgwqAxPC9kaXY+PGRpdj4rIMKgNDwvZGl2PjxkaXY+KyDCoDU8L2Rpdj48ZGl2PisoMyBy b3dzKTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpc3Rf aW50OCBXSEVSRSBhIEBAICchMSAmYW1wOyAxMCc6OmFueXF1ZXJ5IE9SREVSIEJZIGlkOzwvZGl2 PjxkaXY+KyBpZMKgPC9kaXY+PGRpdj4rLS0tLTwvZGl2PjxkaXY+KyDCoDI8L2Rpdj48ZGl2Pisg wqAzPC9kaXY+PGRpdj4rKDIgcm93cyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSByZXN1bHQg Y29uc2lzdGVuY3k6IEdpU1QgbXVzdCBhZ3JlZSB3aXRoIHNlcXNjYW48L2Rpdj48ZGl2PitTRUxF Q1QgKDwvZGl2PjxkaXY+KyDCoFNFTEVDVCBjb3VudCgqKSBGUk9NIGFueWFycmF5X2dpc3RfaW50 OCBXSEVSRSBhIEAmZ3Q7IEFSUkFZWzEwXTo6aW50OFtdPC9kaXY+PGRpdj4rKSA9ICg8L2Rpdj48 ZGl2PisgwqBTRUxFQ1QgY291bnQoKikgRlJPTSAoU0VMRUNUIDEgRlJPTSBhbnlhcnJheV9naXN0 X2ludDggV0hFUkUgYSBAJmd0OyBBUlJBWVsxMF06OmludDhbXSkgczwvZGl2PjxkaXY+KykgQVMg Z2lzdF9tYXRjaGVzX3NlcXNjYW47PC9kaXY+PGRpdj4rIGdpc3RfbWF0Y2hlc19zZXFzY2FuwqA8 L2Rpdj48ZGl2PistLS0tLS0tLS0tLS0tLS0tLS0tLS0tPC9kaXY+PGRpdj4rIHQ8L2Rpdj48ZGl2 PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rUkVTRVQgZW5hYmxlX3NlcXNjYW47PC9k aXY+PGRpdj4rLS0gdGV4dCBHaVNUPC9kaXY+PGRpdj4rQ1JFQVRFIFRBQkxFIGFueWFycmF5X2dp c3RfdGV4dCAoaWQgaW50LCBhIHRleHRbXSk7PC9kaXY+PGRpdj4rSU5TRVJUIElOVE8gYW55YXJy YXlfZ2lzdF90ZXh0IFZBTFVFUzwvZGl2PjxkaXY+KyDCoCgxLCBBUlJBWVsnYXBwbGUnLCdiYW5h bmEnXSksPC9kaXY+PGRpdj4rIMKgKDIsIEFSUkFZWydiYW5hbmEnLCdjaGVycnknXSksPC9kaXY+ PGRpdj4rIMKgKDMsIEFSUkFZWydhcHBsZScsJ2NoZXJyeScsJ2R1cmlhbiddKTs8L2Rpdj48ZGl2 PitDUkVBVEUgSU5ERVggYW55YXJyYXlfZ2lzdF90ZXh0X2lkeDwvZGl2PjxkaXY+KyDCoE9OIGFu eWFycmF5X2dpc3RfdGV4dCBVU0lORyBnaXN0KGEgYW55YXJyYXlfZ2lzdF9vcHMoc2lnbGVuPTY0 KSk7PC9kaXY+PGRpdj4rU0VUIGVuYWJsZV9zZXFzY2FuID0gb2ZmOzwvZGl2PjxkaXY+K1NFTEVD VCBpZCBGUk9NIGFueWFycmF5X2dpc3RfdGV4dCBXSEVSRSBhIEAmZ3Q7IEFSUkFZWydhcHBsZSdd Ojp0ZXh0W10gT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rIGlkwqA8L2Rpdj48ZGl2PistLS0tPC9k aXY+PGRpdj4rIMKgMTwvZGl2PjxkaXY+KyDCoDM8L2Rpdj48ZGl2PisoMiByb3dzKTwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpc3RfdGV4dCBXSEVSRSBh IEBAICdhcHBsZSAmYW1wOyBjaGVycnknOjphbnlxdWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2 PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48ZGl2PisgwqAzPC9kaXY+PGRpdj4rKDEgcm93 KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1JFU0VUIGVuYWJsZV9zZXFzY2FuOzwvZGl2PjxkaXY+ Ky0tIHNpZ2xlbiBib3VuZHM8L2Rpdj48ZGl2PitDUkVBVEUgSU5ERVggT04gYW55YXJyYXlfZ2lz dF90ZXh0IFVTSU5HIGdpc3QoYSBhbnlhcnJheV9naXN0X29wcyhzaWdsZW49MCkpOzwvZGl2Pjxk aXY+K0VSUk9SOiDCoHZhbHVlIDAgb3V0IG9mIGJvdW5kcyBmb3Igb3B0aW9uICJzaWdsZW4iPC9k aXY+PGRpdj4rREVUQUlMOiDCoFZhbGlkIHZhbHVlcyBhcmUgYmV0d2VlbiAiMSIgYW5kICIyMDI0 Ii48L2Rpdj48ZGl2PitDUkVBVEUgSU5ERVggT04gYW55YXJyYXlfZ2lzdF90ZXh0IFVTSU5HIGdp c3QoYSBhbnlhcnJheV9naXN0X29wcyhzaWdsZW49ODE5MykpOzwvZGl2PjxkaXY+K0VSUk9SOiDC oHZhbHVlIDgxOTMgb3V0IG9mIGJvdW5kcyBmb3Igb3B0aW9uICJzaWdsZW4iPC9kaXY+PGRpdj4r REVUQUlMOiDCoFZhbGlkIHZhbHVlcyBhcmUgYmV0d2VlbiAiMSIgYW5kICIyMDI0Ii48L2Rpdj48 ZGl2PistLTwvZGl2PjxkaXY+Ky0tIFBoYXNlIDQ6IEdJTiBpbmRleCAocGVyLXR5cGUsIHN1cHBv cnRzIHN0YW5kYXJkIG9wcyArIEBAKTwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rLS0gYW12YWxp ZGF0ZTogYWxsIHRocmVlIG9wY2xhc3NlczwvZGl2PjxkaXY+K1NFTEVDVCBhbW5hbWUsIG9wY25h bWUgRlJPTSBwZ19vcGNsYXNzIG9wYzwvZGl2PjxkaXY+K0xFRlQgSk9JTiBwZ19hbSBhbSBPTiBh bS5vaWQgPSBvcGNtZXRob2Q8L2Rpdj48ZGl2PitXSEVSRSBvcGMub3BjbmFtZSBMSUtFICclYW55 cXVlcnlfZ2luX29wcycgQU5EIE5PVCBhbXZhbGlkYXRlKG9wYy5vaWQpOzwvZGl2PjxkaXY+KyBh bW5hbWUgfCBvcGNuYW1lwqA8L2Rpdj48ZGl2PistLS0tLS0tLSstLS0tLS0tLS08L2Rpdj48ZGl2 PisoMCByb3dzKTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIGludDggR0lOPC9kaXY+PGRpdj4r Q1JFQVRFIFRBQkxFIGFueWFycmF5X2dpbl9pbnQ4IChpZCBpbnQsIGEgaW50OFtdKTs8L2Rpdj48 ZGl2PitJTlNFUlQgSU5UTyBhbnlhcnJheV9naW5faW50OCBWQUxVRVM8L2Rpdj48ZGl2PisgwqAo MSwgQVJSQVlbMSwyLDNdOjppbnQ4W10pLDwvZGl2PjxkaXY+KyDCoCgyLCBBUlJBWVsxMCwyMCwz MF06OmludDhbXSksPC9kaXY+PGRpdj4rIMKgKDMsIEFSUkFZWzEwLDIwLDMwXTo6aW50OFtdKSw8 L2Rpdj48ZGl2PisgwqAoNCwgQVJSQVlbMSwyLDMsNCw1XTo6aW50OFtdKSw8L2Rpdj48ZGl2Pisg wqAoNSwgQVJSQVlbMTAwLDIwMF06OmludDhbXSk7PC9kaXY+PGRpdj4rQ1JFQVRFIElOREVYIGFu eWFycmF5X2dpbl9pbnQ4X2lkeDwvZGl2PjxkaXY+KyDCoE9OIGFueWFycmF5X2dpbl9pbnQ4IFVT SU5HIGdpbihhIGludDhfYW55cXVlcnlfZ2luX29wcyk7PC9kaXY+PGRpdj4rU0VUIGVuYWJsZV9z ZXFzY2FuID0gb2ZmOzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpbl9pbnQ4 IFdIRVJFIGEgQCZndDsgQVJSQVlbMSwyXTo6aW50OFtdIE9SREVSIEJZIGlkOzwvZGl2PjxkaXY+ KyBpZMKgPC9kaXY+PGRpdj4rLS0tLTwvZGl2PjxkaXY+KyDCoDE8L2Rpdj48ZGl2PisgwqA0PC9k aXY+PGRpdj4rKDIgcm93cyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBh bnlhcnJheV9naW5faW50OCBXSEVSRSBhICZhbXA7JmFtcDsgQVJSQVlbMTAsMjAwXTo6aW50OFtd IE9SREVSIEJZIGlkOzwvZGl2PjxkaXY+KyBpZMKgPC9kaXY+PGRpdj4rLS0tLTwvZGl2PjxkaXY+ KyDCoDI8L2Rpdj48ZGl2PisgwqAzPC9kaXY+PGRpdj4rIMKgNTwvZGl2PjxkaXY+KygzIHJvd3Mp PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2luX2ludDgg V0hFUkUgYSBAQCAnMTAgJmFtcDsgMjAnOjphbnlxdWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2 PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48ZGl2PisgwqAyPC9kaXY+PGRpdj4rIMKgMzwv ZGl2PjxkaXY+KygyIHJvd3MpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00g YW55YXJyYXlfZ2luX2ludDggV0hFUkUgYSBAQCAnKDEgJmFtcDsgMikgfCAxMDAnOjphbnlxdWVy eSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48ZGl2 PisgwqAxPC9kaXY+PGRpdj4rIMKgNDwvZGl2PjxkaXY+KyDCoDU8L2Rpdj48ZGl2PisoMyByb3dz KTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpbl9pbnQ4 IFdIRVJFIGEgQEAgJyExJzo6YW55cXVlcnkgT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rIGlkwqA8 L2Rpdj48ZGl2PistLS0tPC9kaXY+PGRpdj4rIMKgMjwvZGl2PjxkaXY+KyDCoDM8L2Rpdj48ZGl2 PisgwqA1PC9kaXY+PGRpdj4rKDMgcm93cyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSB1dWlk IEdJTjwvZGl2PjxkaXY+K0NSRUFURSBUQUJMRSBhbnlhcnJheV9naW5fdXVpZCAoaWQgaW50LCBh IHV1aWRbXSk7PC9kaXY+PGRpdj4rSU5TRVJUIElOVE8gYW55YXJyYXlfZ2luX3V1aWQgVkFMVUVT PC9kaXY+PGRpdj4rIMKgKDEsIEFSUkFZWycxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTEx MTExMTEnOjp1dWlkLDwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCDCoCDCoCcyMjIyMjIyMi0yMjIy LTIyMjItMjIyMi0yMjIyMjIyMjIyMjInXSksPC9kaXY+PGRpdj4rIMKgKDIsIEFSUkFZWyczMzMz MzMzMy0zMzMzLTMzMzMtMzMzMy0zMzMzMzMzMzMzMzMnOjp1dWlkXSksPC9kaXY+PGRpdj4rIMKg KDMsIEFSUkFZWycxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEnOjp1dWlkLDwv ZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCDCoCDCoCczMzMzMzMzMy0zMzMzLTMzMzMtMzMzMy0zMzMz MzMzMzMzMzMnXSk7PC9kaXY+PGRpdj4rQ1JFQVRFIElOREVYIGFueWFycmF5X2dpbl91dWlkX2lk eDwvZGl2PjxkaXY+KyDCoE9OIGFueWFycmF5X2dpbl91dWlkIFVTSU5HIGdpbihhIHV1aWRfYW55 cXVlcnlfZ2luX29wcyk7PC9kaXY+PGRpdj4rU0VUIGVuYWJsZV9zZXFzY2FuID0gb2ZmOzwvZGl2 PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpbl91dWlkPC9kaXY+PGRpdj4rIMKgV0hF UkUgYSBAQCAnMTExMTExMTEtMTExMS0xMTExLTExMTEtMTExMTExMTExMTExICZhbXA7IDIyMjIy MjIyLTIyMjItMjIyMi0yMjIyLTIyMjIyMjIyMjIyMic6OmFueXF1ZXJ5PC9kaXY+PGRpdj4rIMKg T1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rIGlkwqA8L2Rpdj48ZGl2PistLS0tPC9kaXY+PGRpdj4r IMKgMTwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgaWQg RlJPTSBhbnlhcnJheV9naW5fdXVpZDwvZGl2PjxkaXY+KyDCoFdIRVJFIGEgQCZndDsgQVJSQVlb JzExMTExMTExLTExMTEtMTExMS0xMTExLTExMTExMTExMTExMSc6OnV1aWRdPC9kaXY+PGRpdj4r IMKgT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rIGlkwqA8L2Rpdj48ZGl2PistLS0tPC9kaXY+PGRp dj4rIMKgMTwvZGl2PjxkaXY+KyDCoDM8L2Rpdj48ZGl2PisoMiByb3dzKTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+K1JFU0VUIGVuYWJsZV9zZXFzY2FuOzwvZGl2PjxkaXY+Ky0tIHRleHQgR0lOPC9k aXY+PGRpdj4rQ1JFQVRFIFRBQkxFIGFueWFycmF5X2dpbl90ZXh0IChpZCBpbnQsIGEgdGV4dFtd KTs8L2Rpdj48ZGl2PitJTlNFUlQgSU5UTyBhbnlhcnJheV9naW5fdGV4dCBWQUxVRVM8L2Rpdj48 ZGl2PisgwqAoMSwgQVJSQVlbJ2FwcGxlJywnYmFuYW5hJ10pLDwvZGl2PjxkaXY+KyDCoCgyLCBB UlJBWVsnYmFuYW5hJywnY2hlcnJ5J10pLDwvZGl2PjxkaXY+KyDCoCgzLCBBUlJBWVsnYXBwbGUn LCdjaGVycnknLCdkdXJpYW4nXSk7PC9kaXY+PGRpdj4rQ1JFQVRFIElOREVYIGFueWFycmF5X2dp bl90ZXh0X2lkeDwvZGl2PjxkaXY+KyDCoE9OIGFueWFycmF5X2dpbl90ZXh0IFVTSU5HIGdpbihh IHRleHRfYW55cXVlcnlfZ2luX29wcyk7PC9kaXY+PGRpdj4rU0VUIGVuYWJsZV9zZXFzY2FuID0g b2ZmOzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpbl90ZXh0IFdIRVJFIGEg QEAgJ2FwcGxlICZhbXA7IGNoZXJyeSc6OmFueXF1ZXJ5IE9SREVSIEJZIGlkOzwvZGl2PjxkaXY+ KyBpZMKgPC9kaXY+PGRpdj4rLS0tLTwvZGl2PjxkaXY+KyDCoDM8L2Rpdj48ZGl2PisoMSByb3cp PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2luX3RleHQg V0hFUkUgYSBAQCAnImR1cmlhbiInOjphbnlxdWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2Pisg aWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48ZGl2PisgwqAzPC9kaXY+PGRpdj4rKDEgcm93KTwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpbl90ZXh0IFdI RVJFIGEgQEAgJ2FwcGxlIHwgZ3JhcGUnOjphbnlxdWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2 PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48ZGl2PisgwqAxPC9kaXY+PGRpdj4rIMKgMzwv ZGl2PjxkaXY+KygyIHJvd3MpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00g YW55YXJyYXlfZ2luX3RleHQgV0hFUkUgYSBAQCAnIWJhbmFuYSc6OmFueXF1ZXJ5IE9SREVSIEJZ IGlkOzwvZGl2PjxkaXY+KyBpZMKgPC9kaXY+PGRpdj4rLS0tLTwvZGl2PjxkaXY+KyDCoDM8L2Rp dj48ZGl2PisoMSByb3cpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rUkVTRVQgZW5hYmxlX3NlcXNj YW47PC9kaXY+PGRpdj4rLS08L2Rpdj48ZGl2PistLSBQaGFzZSA1OiBjcm9zcy1BTSBjb25zaXN0 ZW5jeSBhbmQgZWRnZSBjYXNlczwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rLS0gQnVpbGQgYSBs YXJnZXIgZGV0ZXJtaW5pc3RpYyBpbnQ4IHRhYmxlIGFuZCBpbmRleCBpdCB3aXRoIGJvdGggR2lT VCBhbmQ8L2Rpdj48ZGl2PistLSBHSU4uIMKgVGhlbiBydW4gZWFjaCBjYW5kaWRhdGUgcXVlcnkg dW5kZXIgc2Vxc2NhbiwgR2lTVCBhbmQgR0lOIGFuZCBjaGVjazwvZGl2PjxkaXY+Ky0tIHRoYXQg YWxsIHRocmVlIHBsYW5zIHJldHVybiB0aGUgc2FtZSByb3cgc2V0LjwvZGl2PjxkaXY+Ky0tPC9k aXY+PGRpdj4rQ1JFQVRFIFRBQkxFIGFueWFycmF5X3hjaGVjayAoaWQgaW50LCBhIGludDhbXSk7 PC9kaXY+PGRpdj4rSU5TRVJUIElOVE8gYW55YXJyYXlfeGNoZWNrPC9kaXY+PGRpdj4rU0VMRUNU IGcsPC9kaXY+PGRpdj4rIMKgIMKgIMKgIEFSUkFZWyhnICUgNyk6OmludDgsICgoZyAqIDMpICUg MTEpOjppbnQ4LCAoKGcgKyAxKSAlIDUpOjppbnQ4XTwvZGl2PjxkaXY+K0ZST00gZ2VuZXJhdGVf c2VyaWVzKDEsIDIwMCkgZzs8L2Rpdj48ZGl2PistLSBhIGZldyBoYW5kLXBpY2tlZCByb3dzIHRv IGV4ZXJjaXNlIGNvbW1vbiB2YWx1ZXM8L2Rpdj48ZGl2PitJTlNFUlQgSU5UTyBhbnlhcnJheV94 Y2hlY2sgVkFMVUVTPC9kaXY+PGRpdj4rIMKgKDEwMDEsIEFSUkFZWzEsMiwzLDQsNV06OmludDhb XSksPC9kaXY+PGRpdj4rIMKgKDEwMDIsIEFSUkFZWzEsMiwzLDQsNV06OmludDhbXSksPC9kaXY+ PGRpdj4rIMKgKDEwMDMsIEFSUkFZWzEwMCwyMDAsMzAwXTo6aW50OFtdKSw8L2Rpdj48ZGl2Pisg wqAoMTAwNCwgQVJSQVlbXTo6aW50OFtdKSw8L2Rpdj48ZGl2PisgwqAoMTAwNSwgTlVMTCk7PC9k aXY+PGRpdj4rQ1JFQVRFIElOREVYIGFueWFycmF5X3hjaGVja19naXN0IE9OIGFueWFycmF5X3hj aGVjazwvZGl2PjxkaXY+KyDCoFVTSU5HIGdpc3QoYSBhbnlhcnJheV9naXN0X29wcyk7PC9kaXY+ PGRpdj4rQ1JFQVRFIElOREVYIGFueWFycmF5X3hjaGVja19naW4gT04gYW55YXJyYXlfeGNoZWNr PC9kaXY+PGRpdj4rIMKgVVNJTkcgZ2luKGEgaW50OF9hbnlxdWVyeV9naW5fb3BzKTs8L2Rpdj48 ZGl2PistLSBSdW4gZWFjaCBwcmVkaWNhdGUgdGhyZWUgdGltZXM6IHB1cmUgc2Vxc2NhbiwgR2lT VC1vbmx5LCBHSU4tb25seS48L2Rpdj48ZGl2PistLSBBbGwgdGhyZWUgcmVzdWx0IHNldHMgbXVz dCBtYXRjaC48L2Rpdj48ZGl2PitDUkVBVEUgRlVOQ1RJT04gYW55YXJyYXlfeGNoZWNrX21hdGNo KHByZWQgdGV4dCk8L2Rpdj48ZGl2PitSRVRVUk5TIFRBQkxFKGdpc3Rfb2sgYm9vbCwgZ2luX29r IGJvb2wpPC9kaXY+PGRpdj4rTEFOR1VBR0UgcGxwZ3NxbCBBUyAkJDwvZGl2PjxkaXY+K0RFQ0xB UkU8L2Rpdj48ZGl2PisgwqBzZXEgaW50W107IGdzdCBpbnRbXTsgZ2luIGludFtdOzwvZGl2Pjxk aXY+K0JFR0lOPC9kaXY+PGRpdj4rIMKgU0VUIExPQ0FMIGVuYWJsZV9zZXFzY2FuID0gb247PC9k aXY+PGRpdj4rIMKgU0VUIExPQ0FMIGVuYWJsZV9pbmRleHNjYW4gPSBvZmY7PC9kaXY+PGRpdj4r IMKgU0VUIExPQ0FMIGVuYWJsZV9iaXRtYXBzY2FuID0gb2ZmOzwvZGl2PjxkaXY+KyDCoEVYRUNV VEUgJ1NFTEVDVCBhcnJheV9hZ2coaWQgT1JERVIgQlkgaWQpIEZST00gYW55YXJyYXlfeGNoZWNr IFdIRVJFICc8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgwqB8fCBwcmVkIElOVE8gc2VxOzwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+KyDCoC0tIEZvcmNlIEdpU1QgYnkgaGlkaW5nIHRoZSBHSU4gaW5k ZXguPC9kaXY+PGRpdj4rIMKgQUxURVIgSU5ERVggYW55YXJyYXlfeGNoZWNrX2dpbiBTRVQgKGZh c3R1cGRhdGUgPSBvZmYpOzwvZGl2PjxkaXY+KyDCoFNFVCBMT0NBTCBlbmFibGVfc2Vxc2NhbiA9 IG9mZjs8L2Rpdj48ZGl2PisgwqBTRVQgTE9DQUwgZW5hYmxlX2luZGV4c2NhbiA9IG9uOzwvZGl2 PjxkaXY+KyDCoFNFVCBMT0NBTCBlbmFibGVfYml0bWFwc2NhbiA9IG9uOzwvZGl2PjxkaXY+KyDC oERST1AgSU5ERVggYW55YXJyYXlfeGNoZWNrX2dpbjs8L2Rpdj48ZGl2PisgwqBFWEVDVVRFICdT RUxFQ1QgYXJyYXlfYWdnKGlkIE9SREVSIEJZIGlkKSBGUk9NIGFueWFycmF5X3hjaGVjayBXSEVS RSAnPC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIMKgfHwgcHJlZCBJTlRPIGdzdDs8L2Rpdj48ZGl2 PisgwqBDUkVBVEUgSU5ERVggYW55YXJyYXlfeGNoZWNrX2dpbiBPTiBhbnlhcnJheV94Y2hlY2s8 L2Rpdj48ZGl2PisgwqAgwqBVU0lORyBnaW4oYSBpbnQ4X2FueXF1ZXJ5X2dpbl9vcHMpOzwvZGl2 PjxkaXY+KzwvZGl2PjxkaXY+KyDCoC0tIEZvcmNlIEdJTiBieSBoaWRpbmcgR2lTVC48L2Rpdj48 ZGl2PisgwqBEUk9QIElOREVYIGFueWFycmF5X3hjaGVja19naXN0OzwvZGl2PjxkaXY+KyDCoEVY RUNVVEUgJ1NFTEVDVCBhcnJheV9hZ2coaWQgT1JERVIgQlkgaWQpIEZST00gYW55YXJyYXlfeGNo ZWNrIFdIRVJFICc8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgwqB8fCBwcmVkIElOVE8gZ2luOzwv ZGl2PjxkaXY+KyDCoENSRUFURSBJTkRFWCBhbnlhcnJheV94Y2hlY2tfZ2lzdCBPTiBhbnlhcnJh eV94Y2hlY2s8L2Rpdj48ZGl2PisgwqAgwqBVU0lORyBnaXN0KGEgYW55YXJyYXlfZ2lzdF9vcHMp OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoGdpc3Rfb2sgOj0gc2VxIElTIE5PVCBESVNUSU5D VCBGUk9NIGdzdDs8L2Rpdj48ZGl2PisgwqBnaW5fb2sgwqA6PSBzZXEgSVMgTk9UIERJU1RJTkNU IEZST00gZ2luOzwvZGl2PjxkaXY+KyDCoFJFVFVSTiBORVhUOzwvZGl2PjxkaXY+K0VORCAkJDs8 L2Rpdj48ZGl2PitTRUxFQ1QgcHJlZCwgZ2lzdF9vaywgZ2luX29rIEZST00gKFZBTFVFUzwvZGl2 PjxkaXY+KyDCoCgnYSBAJmd0OyBBUlJBWVsxLDJdOjppbnQ4W10nKSw8L2Rpdj48ZGl2PisgwqAo J2EgQCZndDsgQVJSQVlbMTAwLDIwMF06OmludDhbXScpLDwvZGl2PjxkaXY+KyDCoCgnYSAmYW1w OyZhbXA7IEFSUkFZWzUsOTldOjppbnQ4W10nKSw8L2Rpdj48ZGl2PisgwqAoJ2EgPSBBUlJBWVsx LDIsMyw0LDVdOjppbnQ4W10nKSw8L2Rpdj48ZGl2PisgwqAoJ2EgQEAgJycxICZhbXA7IDInJzo6 YW55cXVlcnknKSw8L2Rpdj48ZGl2PisgwqAoJ2EgQEAgJycxMDAgfCA5OTknJzo6YW55cXVlcnkn KSw8L2Rpdj48ZGl2PisgwqAoJ2EgQEAgJychMSAmYW1wOyAyJyc6OmFueXF1ZXJ5Jyk8L2Rpdj48 ZGl2PispIHYocHJlZCksIExBVEVSQUwgYW55YXJyYXlfeGNoZWNrX21hdGNoKHByZWQpOzwvZGl2 PjxkaXY+KyDCoCDCoCDCoCDCoCDCoCDCoCBwcmVkIMKgIMKgIMKgIMKgIMKgIMKgIHwgZ2lzdF9v ayB8IGdpbl9va8KgPC9kaXY+PGRpdj4rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLSstLS0tLS0tLTwvZGl2PjxkaXY+KyBhIEAmZ3Q7IEFSUkFZWzEsMl06OmludDhbXSDC oCDCoCDCoHwgdCDCoCDCoCDCoCB8IHQ8L2Rpdj48ZGl2PisgYSBAJmd0OyBBUlJBWVsxMDAsMjAw XTo6aW50OFtdIMKgfCB0IMKgIMKgIMKgIHwgdDwvZGl2PjxkaXY+KyBhICZhbXA7JmFtcDsgQVJS QVlbNSw5OV06OmludDhbXSDCoCDCoCB8IHQgwqAgwqAgwqAgfCB0PC9kaXY+PGRpdj4rIGEgPSBB UlJBWVsxLDIsMyw0LDVdOjppbnQ4W10gfCB0IMKgIMKgIMKgIHwgdDwvZGl2PjxkaXY+KyBhIEBA ICcxICZhbXA7IDInOjphbnlxdWVyeSDCoCDCoCDCoCB8IHQgwqAgwqAgwqAgfCB0PC9kaXY+PGRp dj4rIGEgQEAgJzEwMCB8IDk5OSc6OmFueXF1ZXJ5IMKgIHwgdCDCoCDCoCDCoCB8IHQ8L2Rpdj48 ZGl2PisgYSBAQCAnITEgJmFtcDsgMic6OmFueXF1ZXJ5IMKgIMKgIMKgfCB0IMKgIMKgIMKgIHwg dDwvZGl2PjxkaXY+Kyg3IHJvd3MpPC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gRWRnZSBjYXNl czogZW1wdHkgLyBOVUxMIGFycmF5cyB2aWEgaW5kZXg8L2Rpdj48ZGl2PitTRVQgZW5hYmxlX3Nl cXNjYW4gPSBvZmY7PC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfeGNoZWNrIFdI RVJFIGEgQCZndDsgQVJSQVlbXTo6aW50OFtdIEFORCBpZCA9IDEwMDQ7PC9kaXY+PGRpdj4rIMKg aWQgwqA8L2Rpdj48ZGl2PistLS0tLS08L2Rpdj48ZGl2PisgMTAwNDwvZGl2PjxkaXY+KygxIHJv dyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBhbnlhcnJheV94Y2hlY2sg V0hFUkUgYSAmbHQ7QCBBUlJBWVsxLDIsM106OmludDhbXSBBTkQgaWQgJmx0OyAxMDAgT1JERVIg QlkgaWQgTElNSVQgMzs8L2Rpdj48ZGl2PisgaWTCoDwvZGl2PjxkaXY+Ky0tLS08L2Rpdj48ZGl2 PisgwqAxPC9kaXY+PGRpdj4rIDE1PC9kaXY+PGRpdj4rIDMwPC9kaXY+PGRpdj4rKDMgcm93cyk8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgY291bnQoKikgRlJPTSBhbnlhcnJheV94Y2hl Y2sgV0hFUkUgYSBJUyBOVUxMOzwvZGl2PjxkaXY+KyBjb3VudMKgPC9kaXY+PGRpdj4rLS0tLS0t LTwvZGl2PjxkaXY+KyDCoCDCoCAxPC9kaXY+PGRpdj4rKDEgcm93KTwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K1JFU0VUIGVuYWJsZV9zZXFzY2FuOzwvZGl2PjxkaXY+Ky0tIERFTEVURSAvIFZBQ1VV TSAvIHJlLXF1ZXJ5IHRocm91Z2ggaW5kZXg8L2Rpdj48ZGl2PitERUxFVEUgRlJPTSBhbnlhcnJh eV94Y2hlY2sgV0hFUkUgaWQgQkVUV0VFTiAxIEFORCA1MDs8L2Rpdj48ZGl2PitWQUNVVU0gYW55 YXJyYXlfeGNoZWNrOzwvZGl2PjxkaXY+K1NFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjs8L2Rpdj48 ZGl2PitTRUxFQ1QgY291bnQoKikgRlJPTSBhbnlhcnJheV94Y2hlY2sgV0hFUkUgYSBAQCAnMSB8 IDInOjphbnlxdWVyeTs8L2Rpdj48ZGl2PisgY291bnTCoDwvZGl2PjxkaXY+Ky0tLS0tLS08L2Rp dj48ZGl2PisgwqAgwqA5ODwvZGl2PjxkaXY+KygxIHJvdyk8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PitSRVNFVCBlbmFibGVfc2Vxc2Nhbjs8L2Rpdj48ZGl2PitEUk9QIEZVTkNUSU9OIGFueWFycmF5 X3hjaGVja19tYXRjaCh0ZXh0KTs8L2Rpdj48ZGl2PmRpZmYgLS1naXQgYS9jb250cmliL2FueWFy cmF5L21lc29uLmJ1aWxkIGIvY29udHJpYi9hbnlhcnJheS9tZXNvbi5idWlsZDwvZGl2PjxkaXY+ bmV3IGZpbGUgbW9kZSAxMDA2NDQ8L2Rpdj48ZGl2PmluZGV4IDAwMDAwMDAwMDAwLi5hMjA2NDZi ODJiMjwvZGl2PjxkaXY+LS0tIC9kZXYvbnVsbDwvZGl2PjxkaXY+KysrIGIvY29udHJpYi9hbnlh cnJheS9tZXNvbi5idWlsZDwvZGl2PjxkaXY+QEAgLTAsMCArMSwzOCBAQDwvZGl2PjxkaXY+KyMg Q29weXJpZ2h0IChjKSAyMDI2LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cDwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K2FueWFycmF5X3NvdXJjZXMgPSBmaWxlcyg8L2Rpdj48ZGl2 PisgwqAnYW55YXJyYXkuYycsPC9kaXY+PGRpdj4rIMKgJ2FueWFycmF5X2Jvb2wuYycsPC9kaXY+ PGRpdj4rIMKgJ2FueWFycmF5X2dpbi5jJyw8L2Rpdj48ZGl2PisgwqAnYW55YXJyYXlfZ2lzdC5j Jyw8L2Rpdj48ZGl2PisgwqAnYW55YXJyYXlfb3AuYycsPC9kaXY+PGRpdj4rKTwvZGl2PjxkaXY+ KzwvZGl2PjxkaXY+K2lmIGhvc3Rfc3lzdGVtID09ICd3aW5kb3dzJzwvZGl2PjxkaXY+KyDCoGFu eWFycmF5X3NvdXJjZXMgKz0gcmNfbGliX2dlbi5wcm9jZXNzKHdpbjMydmVyX3JjLCBleHRyYV9h cmdzOiBbPC9kaXY+PGRpdj4rIMKgIMKgJy0tTkFNRScsICdhbnlhcnJheScsPC9kaXY+PGRpdj4r IMKgIMKgJy0tRklMRURFU0MnLCAnYW55YXJyYXkgLSBvcGVyYXRpb25zIGFuZCBpbmRleGVzIGZv ciBhcnJheXMgb2YgYW55IHR5cGUnLF0pPC9kaXY+PGRpdj4rZW5kaWY8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PithbnlhcnJheSA9IHNoYXJlZF9tb2R1bGUoJ2FueWFycmF5Jyw8L2Rpdj48ZGl2Pisg wqBhbnlhcnJheV9zb3VyY2VzLDwvZGl2PjxkaXY+KyDCoGt3YXJnczogY29udHJpYl9tb2RfYXJn cyw8L2Rpdj48ZGl2PispPC9kaXY+PGRpdj4rY29udHJpYl90YXJnZXRzICs9IGFueWFycmF5PC9k aXY+PGRpdj4rPC9kaXY+PGRpdj4raW5zdGFsbF9kYXRhKDwvZGl2PjxkaXY+KyDCoCdhbnlhcnJh eS0tMS4wLnNxbCcsPC9kaXY+PGRpdj4rIMKgJ2FueWFycmF5LmNvbnRyb2wnLDwvZGl2PjxkaXY+ KyDCoGt3YXJnczogY29udHJpYl9kYXRhX2FyZ3MsPC9kaXY+PGRpdj4rKTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+K3Rlc3RzICs9IHs8IS0tIC0tPjwvZGl2PjxkaXY+KyDCoCduYW1lJzogJ2FueWFy cmF5Jyw8L2Rpdj48ZGl2PisgwqAnc2QnOiBtZXNvbi5jdXJyZW50X3NvdXJjZV9kaXIoKSw8L2Rp dj48ZGl2PisgwqAnYmQnOiBtZXNvbi5jdXJyZW50X2J1aWxkX2RpcigpLDwvZGl2PjxkaXY+KyDC oCdyZWdyZXNzJzogezwhLS0gLS0+PC9kaXY+PGRpdj4rIMKgIMKgJ3NxbCc6IFs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAnYW55YXJyYXknLDwvZGl2PjxkaXY+KyDCoCDCoF0sPC9kaXY+PGRpdj4rIMKg fSw8L2Rpdj48ZGl2Pit9PC9kaXY+PGRpdj5kaWZmIC0tZ2l0IGEvY29udHJpYi9hbnlhcnJheS9z cWwvYW55YXJyYXkuc3FsIGIvY29udHJpYi9hbnlhcnJheS9zcWwvYW55YXJyYXkuc3FsPC9kaXY+ PGRpdj5uZXcgZmlsZSBtb2RlIDEwMDY0NDwvZGl2PjxkaXY+aW5kZXggMDAwMDAwMDAwMDAuLjkw Y2MwNjFmYmRlPC9kaXY+PGRpdj4tLS0gL2Rldi9udWxsPC9kaXY+PGRpdj4rKysgYi9jb250cmli L2FueWFycmF5L3NxbC9hbnlhcnJheS5zcWw8L2Rpdj48ZGl2PkBAIC0wLDAgKzEsMzMwIEBAPC9k aXY+PGRpdj4rQ1JFQVRFIEVYVEVOU0lPTiBhbnlhcnJheTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PistLTwvZGl2PjxkaXY+Ky0tIFBoYXNlIDE6IHNldCBvcGVyYXRpb25zLCBoZWxwZXJzIGFuZCBv cGVyYXRvcnMgZm9yIGludDgsIHV1aWQsIHRleHQ8L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+Ky0tID09PT09IGludDggPT09PT08L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlf c29ydChBUlJBWVszLCAxLCAyLCAxXTo6aW50OFtdKTs8L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJy YXlfc29ydChBUlJBWVszLCAxLCAyLCAxXTo6aW50OFtdLCAnZGVzYycpOzwvZGl2PjxkaXY+K1NF TEVDVCBhbnlhcnJheV9zb3J0KEFSUkFZW106OmludDhbXSk7PC9kaXY+PGRpdj4rU0VMRUNUIGFu eWFycmF5X3VuaXEoQVJSQVlbMSwgMSwgMiwgMywgMywgMl06OmludDhbXSk7PC9kaXY+PGRpdj4r U0VMRUNUIGFueWFycmF5X2lkeChBUlJBWVsxMCwgMjAsIDMwXTo6aW50OFtdLCAyMDo6aW50OCk7 PC9kaXY+PGRpdj4rU0VMRUNUIGFueWFycmF5X2lkeChBUlJBWVsxMCwgMjAsIDMwXTo6aW50OFtd LCA5OTo6aW50OCk7PC9kaXY+PGRpdj4rU0VMRUNUIGFueWFycmF5X3N1YmFycmF5KEFSUkFZWzEs MiwzLDQsNV06OmludDhbXSwgMiwgMik7PC9kaXY+PGRpdj4rU0VMRUNUIGFueWFycmF5X3N1YmFy cmF5KEFSUkFZWzEsMiwzLDQsNV06OmludDhbXSwgMyk7PC9kaXY+PGRpdj4rU0VMRUNUIGFueWFy cmF5X3N1YmFycmF5KEFSUkFZWzEsMiwzXTo6aW50OFtdLCA1LCAxKTs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwyLDNdOjppbnQ4W10gJmFtcDsgQVJSQVlbMiwzLDRdOjpp bnQ4W107PC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZWzEsMiwzXTo6aW50OFtdIHwgQVJSQVlbMyw0 LDVdOjppbnQ4W107PC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZWzEsMiwzXTo6aW50OFtdIHwgNDo6 aW50ODs8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwyLDMsNF06OmludDhbXSAtIEFSUkFZWzIs NF06OmludDhbXTs8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwyLDIsMywyXTo6aW50OFtdIC0g Mjo6aW50ODs8L2Rpdj48ZGl2PitTRUxFQ1QgIyBBUlJBWVsxMCwyMCwzMF06OmludDhbXTs8L2Rp dj48ZGl2PitTRUxFQ1QgQVJSQVlbMTAsMjAsMzBdOjppbnQ4W10gIyAyMDo6aW50ODs8L2Rpdj48 ZGl2Pis8L2Rpdj48ZGl2PistLSA9PT09PSB1dWlkID09PT09PC9kaXY+PGRpdj4rU0VMRUNUIGFu eWFycmF5X3NvcnQoQVJSQVlbPC9kaXY+PGRpdj4rIMKgJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAw LTAwMDAwMDAwMDAwMyc6OnV1aWQsPC9kaXY+PGRpdj4rIMKgJzAwMDAwMDAwLTAwMDAtMDAwMC0w MDAwLTAwMDAwMDAwMDAwMScsPC9kaXY+PGRpdj4rIMKgJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAw LTAwMDAwMDAwMDAwMiddKTs8L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfdW5pcShBUlJBWVs8 L2Rpdj48ZGl2PisgwqAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxJzo6dXVp ZCw8L2Rpdj48ZGl2PisgwqAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAxJyw8 L2Rpdj48ZGl2PisgwqAnMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyJ10pOzwv ZGl2PjxkaXY+K1NFTEVDVCBhbnlhcnJheV9pZHgoQVJSQVlbPC9kaXY+PGRpdj4rIMKgJzAwMDAw MDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMSc6OnV1aWQsPC9kaXY+PGRpdj4rIMKgJzAw MDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMiddLDwvZGl2PjxkaXY+KyDCoCcwMDAw MDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDInOjp1dWlkKTs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PitTRUxFQ1QgQVJSQVlbJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAw MSc6OnV1aWQsPC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIMKgIMKgICcwMDAwMDAwMC0wMDAwLTAw MDAtMDAwMC0wMDAwMDAwMDAwMDInXTwvZGl2PjxkaXY+KyDCoCDCoCAmYW1wOyBBUlJBWVsnMDAw MDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyJzo6dXVpZCw8L2Rpdj48ZGl2PisgwqAg wqAgwqAgwqAgwqAgwqAgJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMyddOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsnMDAwMDAwMDAtMDAwMC0wMDAwLTAw MDAtMDAwMDAwMDAwMDAxJzo6dXVpZF08L2Rpdj48ZGl2PisgwqAgwqAgfCAnMDAwMDAwMDAtMDAw MC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyJzo6dXVpZDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2Pist LSA9PT09PSB0ZXh0ID09PT09PC9kaXY+PGRpdj4rU0VMRUNUIGFueWFycmF5X3NvcnQoQVJSQVlb J2JhbmFuYScsJ2FwcGxlJywnY2hlcnJ5J10pOzwvZGl2PjxkaXY+K1NFTEVDVCBhbnlhcnJheV9z b3J0KEFSUkFZWydiYW5hbmEnLCdhcHBsZScsJ2NoZXJyeSddLCAnZGVzYycpOzwvZGl2PjxkaXY+ K1NFTEVDVCBhbnlhcnJheV91bmlxKEFSUkFZWydhJywnYicsJ2EnLCdjJywnYiddKTs8L2Rpdj48 ZGl2PitTRUxFQ1QgYW55YXJyYXlfaWR4KEFSUkFZWydhJywnYicsJ2MnXSwgJ2InOjp0ZXh0KTs8 L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbJ2EnLCdiJywnYyddOjp0ZXh0W10gJmFtcDsgQVJSQVlb J2InLCdjJywnZCddOjp0ZXh0W107PC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZWydhJywnYicsJ2Mn XTo6dGV4dFtdIHwgJ2QnOjp0ZXh0OzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsnYScsJ2InLCdj JywnYiddOjp0ZXh0W10gLSAnYic6OnRleHQ7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gPT09 PT0gZXJyb3IgY2FzZXMgPT09PT08L2Rpdj48ZGl2PistLSBtdWx0aS1kaW08L2Rpdj48ZGl2PitT RUxFQ1QgYW55YXJyYXlfc29ydChBUlJBWVtbMSwyXSxbMyw0XV06OmludDhbXSk7PC9kaXY+PGRp dj4rLS0gbnVsbHM8L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfc29ydChBUlJBWVsxLCBOVUxM LCAyXTo6aW50OFtdKTs8L2Rpdj48ZGl2PistLSBiYWQgZGlyZWN0aW9uPC9kaXY+PGRpdj4rU0VM RUNUIGFueWFycmF5X3NvcnQoQVJSQVlbMSwyLDNdOjppbnQ4W10sICdib2d1cycpOzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+Ky0tPC9kaXY+PGRpdj4rLS0gUGhhc2UgMjogYW55cXVlcnkgYW5kIEBA IG9wZXJhdG9yPC9kaXY+PGRpdj4rLS08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSBwYXJzaW5n ICsgb3V0cHV0IHJvdW5kLXRyaXA8L2Rpdj48ZGl2PitTRUxFQ1QgJzEgJmFtcDsgMic6OmFueXF1 ZXJ5Ojp0ZXh0OzwvZGl2PjxkaXY+K1NFTEVDVCAnMSAmYW1wOyAyIHwgMyc6OmFueXF1ZXJ5Ojp0 ZXh0OzwvZGl2PjxkaXY+K1NFTEVDVCAnKDEgfCAyKSAmYW1wOyAzJzo6YW55cXVlcnk6OnRleHQ7 PC9kaXY+PGRpdj4rU0VMRUNUICchMSAmYW1wOyAyJzo6YW55cXVlcnk6OnRleHQ7PC9kaXY+PGRp dj4rU0VMRUNUICchKDEgfCAyKSAmYW1wOyAzJzo6YW55cXVlcnk6OnRleHQ7PC9kaXY+PGRpdj4r U0VMRUNUICciaGVsbG8gd29ybGQiIHwgZm9vJzo6YW55cXVlcnk6OnRleHQ7PC9kaXY+PGRpdj4r U0VMRUNUIGFueXF1ZXJ5X3F1ZXJ5dHJlZSgnMSAmYW1wOyAyIHwgMyc6OmFueXF1ZXJ5KTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PistLSBpbnQ4IG1hdGNoaW5nPC9kaXY+PGRpdj4rU0VMRUNUIEFS UkFZWzEsMiwzXTo6aW50OFtdIEBAICcxJzo6YW55cXVlcnk7PC9kaXY+PGRpdj4rU0VMRUNUIEFS UkFZWzEsMiwzXTo6aW50OFtdIEBAICcxICZhbXA7IDInOjphbnlxdWVyeTs8L2Rpdj48ZGl2PitT RUxFQ1QgQVJSQVlbMSwyLDNdOjppbnQ4W10gQEAgJzEgJmFtcDsgNCc6OmFueXF1ZXJ5OzwvZGl2 PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDIsM106OmludDhbXSBAQCAnMSB8IDQnOjphbnlxdWVyeTs8 L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbMSwyLDNdOjppbnQ4W10gQEAgJyE0Jzo6YW55cXVlcnk7 PC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZWzEsMiwzXTo6aW50OFtdIEBAICchMSc6OmFueXF1ZXJ5 OzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDIsM106OmludDhbXSBAQCAnITQgJmFtcDsgMSc6 OmFueXF1ZXJ5OzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsxLDIsM106OmludDhbXSBAQCAnKDEg fCA0KSAmYW1wOyAoMiB8IDUpJzo6YW55cXVlcnk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0g Y29tbXV0YXRvcjwvZGl2PjxkaXY+K1NFTEVDVCAnMSAmYW1wOyAyJzo6YW55cXVlcnkgfn4gQVJS QVlbMSwyLDNdOjppbnQ4W107PC9kaXY+PGRpdj4rU0VMRUNUICcxICZhbXA7IDQnOjphbnlxdWVy eSB+fiBBUlJBWVsxLDIsM106OmludDhbXTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSB1dWlk PC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZWycwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAw MDAwMDEnOjp1dWlkLDwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCDCoCDCoCAnMDAwMDAwMDAtMDAw MC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAyJ108L2Rpdj48ZGl2PisgwqAgwqAgwqAgQEAgJzAwMDAw MDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMSAmYW1wOyAwMDAwMDAwMC0wMDAwLTAwMDAt MDAwMC0wMDAwMDAwMDAwMDInOjphbnlxdWVyeTs8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbJzAw MDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMSc6OnV1aWRdPC9kaXY+PGRpdj4rIMKg IMKgIMKgIEBAICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDInOjphbnlxdWVy eTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSB0ZXh0PC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZ WydhcHBsZScsJ2JhbmFuYScsJ2NoZXJyeSddOjp0ZXh0W10gQEAgJ2FwcGxlICZhbXA7IGJhbmFu YSc6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+K1NFTEVDVCBBUlJBWVsnYXBwbGUnLCdiYW5hbmEnLCdj aGVycnknXTo6dGV4dFtdIEBAICciYmFuYW5hIiB8IGdyYXBlJzo6YW55cXVlcnk7PC9kaXY+PGRp dj4rU0VMRUNUIEFSUkFZWydhcHBsZScsJ2JhbmFuYScsJ2NoZXJyeSddOjp0ZXh0W10gQEAgJ2R1 cmlhbiB8IGdyYXBlJzo6YW55cXVlcnk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gZW1wdHkg YXJyYXk8L2Rpdj48ZGl2PitTRUxFQ1QgQVJSQVlbXTo6aW50OFtdIEBAICcxJzo6YW55cXVlcnk7 PC9kaXY+PGRpdj4rU0VMRUNUIEFSUkFZW106OmludDhbXSBAQCAnITEnOjphbnlxdWVyeTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PistLSBwYXJzZSBlcnJvcnM8L2Rpdj48ZGl2PitTRUxFQ1QgJyc6 OmFueXF1ZXJ5OzwvZGl2PjxkaXY+K1NFTEVDVCAnMSAmYW1wOyc6OmFueXF1ZXJ5OzwvZGl2Pjxk aXY+K1NFTEVDVCAnMSAmYW1wOyAoMic6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+K1NFTEVDVCAnMSAp IDInOjphbnlxdWVyeTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSBydW50aW1lIGVycm9yczog dG9rZW4gY2Fubm90IGJlIHBhcnNlZCBhcyBlbGVtZW50IHR5cGU8L2Rpdj48ZGl2PitTRUxFQ1Qg QVJSQVlbMSwyXTo6aW50OFtdIEBAICdhYmMnOjphbnlxdWVyeTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PistLTwvZGl2PjxkaXY+Ky0tIFBoYXNlIDM6IEdpU1Qgc2lnbmF0dXJlIGluZGV4PC9kaXY+ PGRpdj4rLS08L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSBhbXZhbGlkYXRlOiB3ZWxsLWZvcm1l ZCBvcGNsYXNzPC9kaXY+PGRpdj4rU0VMRUNUIGFtbmFtZSwgb3BjbmFtZSBGUk9NIHBnX29wY2xh c3Mgb3BjPC9kaXY+PGRpdj4rTEVGVCBKT0lOIHBnX2FtIGFtIE9OIGFtLm9pZCA9IG9wY21ldGhv ZDwvZGl2PjxkaXY+K1dIRVJFIG9wYy5vcGNuYW1lID0gJ2FueWFycmF5X2dpc3Rfb3BzJyBBTkQg Tk9UIGFtdmFsaWRhdGUob3BjLm9pZCk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gaW50OCBH aVNUOiBidWlsZCBkZXRlcm1pbmlzdGljIHRhYmxlPC9kaXY+PGRpdj4rQ1JFQVRFIFRBQkxFIGFu eWFycmF5X2dpc3RfaW50OCAoaWQgaW50LCBhIGludDhbXSk7PC9kaXY+PGRpdj4rSU5TRVJUIElO VE8gYW55YXJyYXlfZ2lzdF9pbnQ4IFZBTFVFUzwvZGl2PjxkaXY+KyDCoCgxLCBBUlJBWVsxLDIs M106OmludDhbXSksPC9kaXY+PGRpdj4rIMKgKDIsIEFSUkFZWzEwLDIwLDMwXTo6aW50OFtdKSw8 L2Rpdj48ZGl2PisgwqAoMywgQVJSQVlbMTAsMjAsMzBdOjppbnQ4W10pLDwvZGl2PjxkaXY+KyDC oCg0LCBBUlJBWVsxLDIsMyw0LDVdOjppbnQ4W10pLDwvZGl2PjxkaXY+KyDCoCg1LCBBUlJBWVsx MDAsMjAwXTo6aW50OFtdKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgSU5ERVggYW55 YXJyYXlfZ2lzdF9pbnQ4X2lkeDwvZGl2PjxkaXY+KyDCoE9OIGFueWFycmF5X2dpc3RfaW50OCBV U0lORyBnaXN0KGEgYW55YXJyYXlfZ2lzdF9vcHMpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NF VCBlbmFibGVfc2Vxc2NhbiA9IG9mZjs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRUxFQ1QgaWQg RlJPTSBhbnlhcnJheV9naXN0X2ludDggV0hFUkUgYSBAJmd0OyBBUlJBWVsxLDJdOjppbnQ4W10g T1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2lzdF9pbnQ4 IFdIRVJFIGEgJmFtcDsmYW1wOyBBUlJBWVsxMCwyMDBdOjppbnQ4W10gT1JERVIgQlkgaWQ7PC9k aXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2lzdF9pbnQ4IFdIRVJFIGEgPSBBUlJB WVsxMCwyMCwzMF06OmludDhbXSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJP TSBhbnlhcnJheV9naXN0X2ludDggV0hFUkUgYSAmbHQ7QCBBUlJBWVsxLDIsMyw0LDVdOjppbnQ4 W10gT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2lzdF9p bnQ4IFdIRVJFIGEgQEAgJzEwICZhbXA7IDIwJzo6YW55cXVlcnkgT1JERVIgQlkgaWQ7PC9kaXY+ PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2lzdF9pbnQ4IFdIRVJFIGEgQEAgJzEgfCAx MDAnOjphbnlxdWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBhbnlh cnJheV9naXN0X2ludDggV0hFUkUgYSBAQCAnITEgJmFtcDsgMTAnOjphbnlxdWVyeSBPUkRFUiBC WSBpZDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSByZXN1bHQgY29uc2lzdGVuY3k6IEdpU1Qg bXVzdCBhZ3JlZSB3aXRoIHNlcXNjYW48L2Rpdj48ZGl2PitTRUxFQ1QgKDwvZGl2PjxkaXY+KyDC oFNFTEVDVCBjb3VudCgqKSBGUk9NIGFueWFycmF5X2dpc3RfaW50OCBXSEVSRSBhIEAmZ3Q7IEFS UkFZWzEwXTo6aW50OFtdPC9kaXY+PGRpdj4rKSA9ICg8L2Rpdj48ZGl2PisgwqBTRUxFQ1QgY291 bnQoKikgRlJPTSAoU0VMRUNUIDEgRlJPTSBhbnlhcnJheV9naXN0X2ludDggV0hFUkUgYSBAJmd0 OyBBUlJBWVsxMF06OmludDhbXSkgczwvZGl2PjxkaXY+KykgQVMgZ2lzdF9tYXRjaGVzX3NlcXNj YW47PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rUkVTRVQgZW5hYmxlX3NlcXNjYW47PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rLS0gdGV4dCBHaVNUPC9kaXY+PGRpdj4rQ1JFQVRFIFRBQkxFIGFueWFy cmF5X2dpc3RfdGV4dCAoaWQgaW50LCBhIHRleHRbXSk7PC9kaXY+PGRpdj4rSU5TRVJUIElOVE8g YW55YXJyYXlfZ2lzdF90ZXh0IFZBTFVFUzwvZGl2PjxkaXY+KyDCoCgxLCBBUlJBWVsnYXBwbGUn LCdiYW5hbmEnXSksPC9kaXY+PGRpdj4rIMKgKDIsIEFSUkFZWydiYW5hbmEnLCdjaGVycnknXSks PC9kaXY+PGRpdj4rIMKgKDMsIEFSUkFZWydhcHBsZScsJ2NoZXJyeScsJ2R1cmlhbiddKTs8L2Rp dj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgSU5ERVggYW55YXJyYXlfZ2lzdF90ZXh0X2lkeDwv ZGl2PjxkaXY+KyDCoE9OIGFueWFycmF5X2dpc3RfdGV4dCBVU0lORyBnaXN0KGEgYW55YXJyYXlf Z2lzdF9vcHMoc2lnbGVuPTY0KSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rU0VUIGVuYWJsZV9z ZXFzY2FuID0gb2ZmOzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpc3RfdGV4 dCBXSEVSRSBhIEAmZ3Q7IEFSUkFZWydhcHBsZSddOjp0ZXh0W10gT1JERVIgQlkgaWQ7PC9kaXY+ PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2lzdF90ZXh0IFdIRVJFIGEgQEAgJ2FwcGxl ICZhbXA7IGNoZXJyeSc6OmFueXF1ZXJ5IE9SREVSIEJZIGlkOzwvZGl2PjxkaXY+K1JFU0VUIGVu YWJsZV9zZXFzY2FuOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIHNpZ2xlbiBib3VuZHM8L2Rp dj48ZGl2PitDUkVBVEUgSU5ERVggT04gYW55YXJyYXlfZ2lzdF90ZXh0IFVTSU5HIGdpc3QoYSBh bnlhcnJheV9naXN0X29wcyhzaWdsZW49MCkpOzwvZGl2PjxkaXY+K0NSRUFURSBJTkRFWCBPTiBh bnlhcnJheV9naXN0X3RleHQgVVNJTkcgZ2lzdChhIGFueWFycmF5X2dpc3Rfb3BzKHNpZ2xlbj04 MTkzKSk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS08L2Rpdj48ZGl2PistLSBQaGFzZSA0OiBH SU4gaW5kZXggKHBlci10eXBlLCBzdXBwb3J0cyBzdGFuZGFyZCBvcHMgKyBAQCk8L2Rpdj48ZGl2 PistLTwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIGFtdmFsaWRhdGU6IGFsbCB0aHJlZSBvcGNs YXNzZXM8L2Rpdj48ZGl2PitTRUxFQ1QgYW1uYW1lLCBvcGNuYW1lIEZST00gcGdfb3BjbGFzcyBv cGM8L2Rpdj48ZGl2PitMRUZUIEpPSU4gcGdfYW0gYW0gT04gYW0ub2lkID0gb3BjbWV0aG9kPC9k aXY+PGRpdj4rV0hFUkUgb3BjLm9wY25hbWUgTElLRSAnJWFueXF1ZXJ5X2dpbl9vcHMnIEFORCBO T1QgYW12YWxpZGF0ZShvcGMub2lkKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PistLSBpbnQ4IEdJ TjwvZGl2PjxkaXY+K0NSRUFURSBUQUJMRSBhbnlhcnJheV9naW5faW50OCAoaWQgaW50LCBhIGlu dDhbXSk7PC9kaXY+PGRpdj4rSU5TRVJUIElOVE8gYW55YXJyYXlfZ2luX2ludDggVkFMVUVTPC9k aXY+PGRpdj4rIMKgKDEsIEFSUkFZWzEsMiwzXTo6aW50OFtdKSw8L2Rpdj48ZGl2PisgwqAoMiwg QVJSQVlbMTAsMjAsMzBdOjppbnQ4W10pLDwvZGl2PjxkaXY+KyDCoCgzLCBBUlJBWVsxMCwyMCwz MF06OmludDhbXSksPC9kaXY+PGRpdj4rIMKgKDQsIEFSUkFZWzEsMiwzLDQsNV06OmludDhbXSks PC9kaXY+PGRpdj4rIMKgKDUsIEFSUkFZWzEwMCwyMDBdOjppbnQ4W10pOzwvZGl2PjxkaXY+Kzwv ZGl2PjxkaXY+K0NSRUFURSBJTkRFWCBhbnlhcnJheV9naW5faW50OF9pZHg8L2Rpdj48ZGl2Pisg wqBPTiBhbnlhcnJheV9naW5faW50OCBVU0lORyBnaW4oYSBpbnQ4X2FueXF1ZXJ5X2dpbl9vcHMp OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K1NFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjs8L2Rpdj48 ZGl2PitTRUxFQ1QgaWQgRlJPTSBhbnlhcnJheV9naW5faW50OCBXSEVSRSBhIEAmZ3Q7IEFSUkFZ WzEsMl06OmludDhbXSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBhbnlh cnJheV9naW5faW50OCBXSEVSRSBhICZhbXA7JmFtcDsgQVJSQVlbMTAsMjAwXTo6aW50OFtdIE9S REVSIEJZIGlkOzwvZGl2PjxkaXY+K1NFTEVDVCBpZCBGUk9NIGFueWFycmF5X2dpbl9pbnQ4IFdI RVJFIGEgQEAgJzEwICZhbXA7IDIwJzo6YW55cXVlcnkgT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4r U0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2luX2ludDggV0hFUkUgYSBAQCAnKDEgJmFtcDsgMikg fCAxMDAnOjphbnlxdWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBh bnlhcnJheV9naW5faW50OCBXSEVSRSBhIEBAICchMSc6OmFueXF1ZXJ5IE9SREVSIEJZIGlkOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIHV1aWQgR0lOPC9kaXY+PGRpdj4rQ1JFQVRFIFRBQkxF IGFueWFycmF5X2dpbl91dWlkIChpZCBpbnQsIGEgdXVpZFtdKTs8L2Rpdj48ZGl2PitJTlNFUlQg SU5UTyBhbnlhcnJheV9naW5fdXVpZCBWQUxVRVM8L2Rpdj48ZGl2PisgwqAoMSwgQVJSQVlbJzEx MTExMTExLTExMTEtMTExMS0xMTExLTExMTExMTExMTExMSc6OnV1aWQsPC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgIMKgIMKgJzIyMjIyMjIyLTIyMjItMjIyMi0yMjIyLTIyMjIyMjIyMjIyMiddKSw8 L2Rpdj48ZGl2PisgwqAoMiwgQVJSQVlbJzMzMzMzMzMzLTMzMzMtMzMzMy0zMzMzLTMzMzMzMzMz MzMzMyc6OnV1aWRdKSw8L2Rpdj48ZGl2PisgwqAoMywgQVJSQVlbJzExMTExMTExLTExMTEtMTEx MS0xMTExLTExMTExMTExMTExMSc6OnV1aWQsPC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIMKgIMKg JzMzMzMzMzMzLTMzMzMtMzMzMy0zMzMzLTMzMzMzMzMzMzMzMyddKTs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PitDUkVBVEUgSU5ERVggYW55YXJyYXlfZ2luX3V1aWRfaWR4PC9kaXY+PGRpdj4rIMKg T04gYW55YXJyYXlfZ2luX3V1aWQgVVNJTkcgZ2luKGEgdXVpZF9hbnlxdWVyeV9naW5fb3BzKTs8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitTRVQgZW5hYmxlX3NlcXNjYW4gPSBvZmY7PC9kaXY+PGRp dj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2luX3V1aWQ8L2Rpdj48ZGl2PisgwqBXSEVSRSBh IEBAICcxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEgJmFtcDsgMjIyMjIyMjIt MjIyMi0yMjIyLTIyMjItMjIyMjIyMjIyMjIyJzo6YW55cXVlcnk8L2Rpdj48ZGl2PisgwqBPUkRF UiBCWSBpZDs8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBhbnlhcnJheV9naW5fdXVpZDwvZGl2 PjxkaXY+KyDCoFdIRVJFIGEgQCZndDsgQVJSQVlbJzExMTExMTExLTExMTEtMTExMS0xMTExLTEx MTExMTExMTExMSc6OnV1aWRdPC9kaXY+PGRpdj4rIMKgT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4r UkVTRVQgZW5hYmxlX3NlcXNjYW47PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gdGV4dCBHSU48 L2Rpdj48ZGl2PitDUkVBVEUgVEFCTEUgYW55YXJyYXlfZ2luX3RleHQgKGlkIGludCwgYSB0ZXh0 W10pOzwvZGl2PjxkaXY+K0lOU0VSVCBJTlRPIGFueWFycmF5X2dpbl90ZXh0IFZBTFVFUzwvZGl2 PjxkaXY+KyDCoCgxLCBBUlJBWVsnYXBwbGUnLCdiYW5hbmEnXSksPC9kaXY+PGRpdj4rIMKgKDIs IEFSUkFZWydiYW5hbmEnLCdjaGVycnknXSksPC9kaXY+PGRpdj4rIMKgKDMsIEFSUkFZWydhcHBs ZScsJ2NoZXJyeScsJ2R1cmlhbiddKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitDUkVBVEUgSU5E RVggYW55YXJyYXlfZ2luX3RleHRfaWR4PC9kaXY+PGRpdj4rIMKgT04gYW55YXJyYXlfZ2luX3Rl eHQgVVNJTkcgZ2luKGEgdGV4dF9hbnlxdWVyeV9naW5fb3BzKTs8L2Rpdj48ZGl2Pis8L2Rpdj48 ZGl2PitTRVQgZW5hYmxlX3NlcXNjYW4gPSBvZmY7PC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00g YW55YXJyYXlfZ2luX3RleHQgV0hFUkUgYSBAQCAnYXBwbGUgJmFtcDsgY2hlcnJ5Jzo6YW55cXVl cnkgT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55YXJyYXlfZ2luX3Rl eHQgV0hFUkUgYSBAQCAnImR1cmlhbiInOjphbnlxdWVyeSBPUkRFUiBCWSBpZDs8L2Rpdj48ZGl2 PitTRUxFQ1QgaWQgRlJPTSBhbnlhcnJheV9naW5fdGV4dCBXSEVSRSBhIEBAICdhcHBsZSB8IGdy YXBlJzo6YW55cXVlcnkgT1JERVIgQlkgaWQ7PC9kaXY+PGRpdj4rU0VMRUNUIGlkIEZST00gYW55 YXJyYXlfZ2luX3RleHQgV0hFUkUgYSBAQCAnIWJhbmFuYSc6OmFueXF1ZXJ5IE9SREVSIEJZIGlk OzwvZGl2PjxkaXY+K1JFU0VUIGVuYWJsZV9zZXFzY2FuOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ Ky0tPC9kaXY+PGRpdj4rLS0gUGhhc2UgNTogY3Jvc3MtQU0gY29uc2lzdGVuY3kgYW5kIGVkZ2Ug Y2FzZXM8L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+Ky0tIEJ1aWxkIGEgbGFyZ2VyIGRldGVybWlu aXN0aWMgaW50OCB0YWJsZSBhbmQgaW5kZXggaXQgd2l0aCBib3RoIEdpU1QgYW5kPC9kaXY+PGRp dj4rLS0gR0lOLiDCoFRoZW4gcnVuIGVhY2ggY2FuZGlkYXRlIHF1ZXJ5IHVuZGVyIHNlcXNjYW4s IEdpU1QgYW5kIEdJTiBhbmQgY2hlY2s8L2Rpdj48ZGl2PistLSB0aGF0IGFsbCB0aHJlZSBwbGFu cyByZXR1cm4gdGhlIHNhbWUgcm93IHNldC48L2Rpdj48ZGl2PistLTwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+K0NSRUFURSBUQUJMRSBhbnlhcnJheV94Y2hlY2sgKGlkIGludCwgYSBpbnQ4W10pOzwv ZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0lOU0VSVCBJTlRPIGFueWFycmF5X3hjaGVjazwvZGl2Pjxk aXY+K1NFTEVDVCBnLDwvZGl2PjxkaXY+KyDCoCDCoCDCoCBBUlJBWVsoZyAlIDcpOjppbnQ4LCAo KGcgKiAzKSAlIDExKTo6aW50OCwgKChnICsgMSkgJSA1KTo6aW50OF08L2Rpdj48ZGl2PitGUk9N IGdlbmVyYXRlX3NlcmllcygxLCAyMDApIGc7PC9kaXY+PGRpdj4rLS0gYSBmZXcgaGFuZC1waWNr ZWQgcm93cyB0byBleGVyY2lzZSBjb21tb24gdmFsdWVzPC9kaXY+PGRpdj4rSU5TRVJUIElOVE8g YW55YXJyYXlfeGNoZWNrIFZBTFVFUzwvZGl2PjxkaXY+KyDCoCgxMDAxLCBBUlJBWVsxLDIsMyw0 LDVdOjppbnQ4W10pLDwvZGl2PjxkaXY+KyDCoCgxMDAyLCBBUlJBWVsxLDIsMyw0LDVdOjppbnQ4 W10pLDwvZGl2PjxkaXY+KyDCoCgxMDAzLCBBUlJBWVsxMDAsMjAwLDMwMF06OmludDhbXSksPC9k aXY+PGRpdj4rIMKgKDEwMDQsIEFSUkFZW106OmludDhbXSksPC9kaXY+PGRpdj4rIMKgKDEwMDUs IE5VTEwpOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+K0NSRUFURSBJTkRFWCBhbnlhcnJheV94Y2hl Y2tfZ2lzdCBPTiBhbnlhcnJheV94Y2hlY2s8L2Rpdj48ZGl2PisgwqBVU0lORyBnaXN0KGEgYW55 YXJyYXlfZ2lzdF9vcHMpOzwvZGl2PjxkaXY+K0NSRUFURSBJTkRFWCBhbnlhcnJheV94Y2hlY2tf Z2luIE9OIGFueWFycmF5X3hjaGVjazwvZGl2PjxkaXY+KyDCoFVTSU5HIGdpbihhIGludDhfYW55 cXVlcnlfZ2luX29wcyk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gUnVuIGVhY2ggcHJlZGlj YXRlIHRocmVlIHRpbWVzOiBwdXJlIHNlcXNjYW4sIEdpU1Qtb25seSwgR0lOLW9ubHkuPC9kaXY+ PGRpdj4rLS0gQWxsIHRocmVlIHJlc3VsdCBzZXRzIG11c3QgbWF0Y2guPC9kaXY+PGRpdj4rQ1JF QVRFIEZVTkNUSU9OIGFueWFycmF5X3hjaGVja19tYXRjaChwcmVkIHRleHQpPC9kaXY+PGRpdj4r UkVUVVJOUyBUQUJMRShnaXN0X29rIGJvb2wsIGdpbl9vayBib29sKTwvZGl2PjxkaXY+K0xBTkdV QUdFIHBscGdzcWwgQVMgJCQ8L2Rpdj48ZGl2PitERUNMQVJFPC9kaXY+PGRpdj4rIMKgc2VxIGlu dFtdOyBnc3QgaW50W107IGdpbiBpbnRbXTs8L2Rpdj48ZGl2PitCRUdJTjwvZGl2PjxkaXY+KyDC oFNFVCBMT0NBTCBlbmFibGVfc2Vxc2NhbiA9IG9uOzwvZGl2PjxkaXY+KyDCoFNFVCBMT0NBTCBl bmFibGVfaW5kZXhzY2FuID0gb2ZmOzwvZGl2PjxkaXY+KyDCoFNFVCBMT0NBTCBlbmFibGVfYml0 bWFwc2NhbiA9IG9mZjs8L2Rpdj48ZGl2PisgwqBFWEVDVVRFICdTRUxFQ1QgYXJyYXlfYWdnKGlk IE9SREVSIEJZIGlkKSBGUk9NIGFueWFycmF5X3hjaGVjayBXSEVSRSAnPC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgIMKgfHwgcHJlZCBJTlRPIHNlcTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAt LSBGb3JjZSBHaVNUIGJ5IGhpZGluZyB0aGUgR0lOIGluZGV4LjwvZGl2PjxkaXY+KyDCoEFMVEVS IElOREVYIGFueWFycmF5X3hjaGVja19naW4gU0VUIChmYXN0dXBkYXRlID0gb2ZmKTs8L2Rpdj48 ZGl2PisgwqBTRVQgTE9DQUwgZW5hYmxlX3NlcXNjYW4gPSBvZmY7PC9kaXY+PGRpdj4rIMKgU0VU IExPQ0FMIGVuYWJsZV9pbmRleHNjYW4gPSBvbjs8L2Rpdj48ZGl2PisgwqBTRVQgTE9DQUwgZW5h YmxlX2JpdG1hcHNjYW4gPSBvbjs8L2Rpdj48ZGl2PisgwqBEUk9QIElOREVYIGFueWFycmF5X3hj aGVja19naW47PC9kaXY+PGRpdj4rIMKgRVhFQ1VURSAnU0VMRUNUIGFycmF5X2FnZyhpZCBPUkRF UiBCWSBpZCkgRlJPTSBhbnlhcnJheV94Y2hlY2sgV0hFUkUgJzwvZGl2PjxkaXY+KyDCoCDCoCDC oCDCoCDCoHx8IHByZWQgSU5UTyBnc3Q7PC9kaXY+PGRpdj4rIMKgQ1JFQVRFIElOREVYIGFueWFy cmF5X3hjaGVja19naW4gT04gYW55YXJyYXlfeGNoZWNrPC9kaXY+PGRpdj4rIMKgIMKgVVNJTkcg Z2luKGEgaW50OF9hbnlxdWVyeV9naW5fb3BzKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAt LSBGb3JjZSBHSU4gYnkgaGlkaW5nIEdpU1QuPC9kaXY+PGRpdj4rIMKgRFJPUCBJTkRFWCBhbnlh cnJheV94Y2hlY2tfZ2lzdDs8L2Rpdj48ZGl2PisgwqBFWEVDVVRFICdTRUxFQ1QgYXJyYXlfYWdn KGlkIE9SREVSIEJZIGlkKSBGUk9NIGFueWFycmF5X3hjaGVjayBXSEVSRSAnPC9kaXY+PGRpdj4r IMKgIMKgIMKgIMKgIMKgfHwgcHJlZCBJTlRPIGdpbjs8L2Rpdj48ZGl2PisgwqBDUkVBVEUgSU5E RVggYW55YXJyYXlfeGNoZWNrX2dpc3QgT04gYW55YXJyYXlfeGNoZWNrPC9kaXY+PGRpdj4rIMKg IMKgVVNJTkcgZ2lzdChhIGFueWFycmF5X2dpc3Rfb3BzKTs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PisgwqBnaXN0X29rIDo9IHNlcSBJUyBOT1QgRElTVElOQ1QgRlJPTSBnc3Q7PC9kaXY+PGRpdj4r IMKgZ2luX29rIMKgOj0gc2VxIElTIE5PVCBESVNUSU5DVCBGUk9NIGdpbjs8L2Rpdj48ZGl2Pisg wqBSRVRVUk4gTkVYVDs8L2Rpdj48ZGl2PitFTkQgJCQ7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r U0VMRUNUIHByZWQsIGdpc3Rfb2ssIGdpbl9vayBGUk9NIChWQUxVRVM8L2Rpdj48ZGl2PisgwqAo J2EgQCZndDsgQVJSQVlbMSwyXTo6aW50OFtdJyksPC9kaXY+PGRpdj4rIMKgKCdhIEAmZ3Q7IEFS UkFZWzEwMCwyMDBdOjppbnQ4W10nKSw8L2Rpdj48ZGl2PisgwqAoJ2EgJmFtcDsmYW1wOyBBUlJB WVs1LDk5XTo6aW50OFtdJyksPC9kaXY+PGRpdj4rIMKgKCdhID0gQVJSQVlbMSwyLDMsNCw1XTo6 aW50OFtdJyksPC9kaXY+PGRpdj4rIMKgKCdhIEBAICcnMSAmYW1wOyAyJyc6OmFueXF1ZXJ5Jyks PC9kaXY+PGRpdj4rIMKgKCdhIEBAICcnMTAwIHwgOTk5Jyc6OmFueXF1ZXJ5JyksPC9kaXY+PGRp dj4rIMKgKCdhIEBAICcnITEgJmFtcDsgMicnOjphbnlxdWVyeScpPC9kaXY+PGRpdj4rKSB2KHBy ZWQpLCBMQVRFUkFMIGFueWFycmF5X3hjaGVja19tYXRjaChwcmVkKTs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PistLSBFZGdlIGNhc2VzOiBlbXB0eSAvIE5VTEwgYXJyYXlzIHZpYSBpbmRleDwvZGl2 PjxkaXY+K1NFVCBlbmFibGVfc2Vxc2NhbiA9IG9mZjs8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJP TSBhbnlhcnJheV94Y2hlY2sgV0hFUkUgYSBAJmd0OyBBUlJBWVtdOjppbnQ4W10gQU5EIGlkID0g MTAwNDs8L2Rpdj48ZGl2PitTRUxFQ1QgaWQgRlJPTSBhbnlhcnJheV94Y2hlY2sgV0hFUkUgYSAm bHQ7QCBBUlJBWVsxLDIsM106OmludDhbXSBBTkQgaWQgJmx0OyAxMDAgT1JERVIgQlkgaWQgTElN SVQgMzs8L2Rpdj48ZGl2PitTRUxFQ1QgY291bnQoKikgRlJPTSBhbnlhcnJheV94Y2hlY2sgV0hF UkUgYSBJUyBOVUxMOzwvZGl2PjxkaXY+K1JFU0VUIGVuYWJsZV9zZXFzY2FuOzwvZGl2PjxkaXY+ KzwvZGl2PjxkaXY+Ky0tIERFTEVURSAvIFZBQ1VVTSAvIHJlLXF1ZXJ5IHRocm91Z2ggaW5kZXg8 L2Rpdj48ZGl2PitERUxFVEUgRlJPTSBhbnlhcnJheV94Y2hlY2sgV0hFUkUgaWQgQkVUV0VFTiAx IEFORCA1MDs8L2Rpdj48ZGl2PitWQUNVVU0gYW55YXJyYXlfeGNoZWNrOzwvZGl2PjxkaXY+K1NF VCBlbmFibGVfc2Vxc2NhbiA9IG9mZjs8L2Rpdj48ZGl2PitTRUxFQ1QgY291bnQoKikgRlJPTSBh bnlhcnJheV94Y2hlY2sgV0hFUkUgYSBAQCAnMSB8IDInOjphbnlxdWVyeTs8L2Rpdj48ZGl2PitS RVNFVCBlbmFibGVfc2Vxc2Nhbjs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PitEUk9QIEZVTkNUSU9O IGFueWFycmF5X3hjaGVja19tYXRjaCh0ZXh0KTs8L2Rpdj48ZGl2PmRpZmYgLS1naXQgYS9jb250 cmliL21lc29uLmJ1aWxkIGIvY29udHJpYi9tZXNvbi5idWlsZDwvZGl2PjxkaXY+aW5kZXggZWJi N2Y4M2Q4YzUuLmUxNThmMThmYTdlIDEwMDY0NDwvZGl2PjxkaXY+LS0tIGEvY29udHJpYi9tZXNv bi5idWlsZDwvZGl2PjxkaXY+KysrIGIvY29udHJpYi9tZXNvbi5idWlsZDwvZGl2PjxkaXY+QEAg LTEzLDYgKzEzLDcgQEAgY29udHJpYl9kb2NfYXJncyA9IHs8IS0tIC0tPjwvZGl2PjxkaXY+wqB9 PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+wqBzdWJkaXIoJ2FtY2hlY2snKTwvZGl2PjxkaXY+K3N1 YmRpcignYW55YXJyYXknKTwvZGl2PjxkaXY+wqBzdWJkaXIoJ2F1dGhfZGVsYXknKTwvZGl2Pjxk aXY+wqBzdWJkaXIoJ2F1dG9fZXhwbGFpbicpPC9kaXY+PGRpdj7CoHN1YmRpcignYmFzaWNfYXJj aGl2ZScpPC9kaXY+PGRpdj5kaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2FueWFycmF5LnNnbWwg Yi9kb2Mvc3JjL3NnbWwvYW55YXJyYXkuc2dtbDwvZGl2PjxkaXY+bmV3IGZpbGUgbW9kZSAxMDA2 NDQ8L2Rpdj48ZGl2PmluZGV4IDAwMDAwMDAwMDAwLi40ZjM3NmUwODY4YzwvZGl2PjxkaXY+LS0t IC9kZXYvbnVsbDwvZGl2PjxkaXY+KysrIGIvZG9jL3NyYy9zZ21sL2FueWFycmF5LnNnbWw8L2Rp dj48ZGl2PkBAIC0wLDAgKzEsNDgyIEBAPC9kaXY+PGRpdj4rJmx0OyEtLSBkb2Mvc3JjL3NnbWwv YW55YXJyYXkuc2dtbCAtLSZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PismbHQ7c2VjdDEgaWQ9 ImFueWFycmF5IiB4cmVmbGFiZWw9ImFueWFycmF5IiZndDs8L2Rpdj48ZGl2PisgJmx0O3RpdGxl Jmd0O2FueWFycmF5ICZhbXA7bWRhc2g7IG9wZXJhdGlvbnMgYW5kIGluZGV4ZXMgZm9yIGFycmF5 cyBvZiBhbnkgdHlwZSZsdDsvdGl0bGUmZ3Q7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rICZsdDtp bmRleHRlcm0gem9uZT0iYW55YXJyYXkiJmd0OzwvZGl2PjxkaXY+KyDCoCZsdDtwcmltYXJ5Jmd0 O2FueWFycmF5Jmx0Oy9wcmltYXJ5Jmd0OzwvZGl2PjxkaXY+KyAmbHQ7L2luZGV4dGVybSZndDs8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgVGhlICZs dDtmaWxlbmFtZSZndDthbnlhcnJheSZsdDsvZmlsZW5hbWUmZ3Q7IG1vZHVsZSBnZW5lcmFsaXpl czwvZGl2PjxkaXY+KyDCoCZsdDt4cmVmIGxpbmtlbmQ9ImludGFycmF5Ii8mZ3Q7LXN0eWxlIG9w ZXJhdGlvbnMgdG8gYXJyYXlzIG9mIGFueSBlbGVtZW50IHR5cGU8L2Rpdj48ZGl2PisgwqB0aGF0 IHByb3ZpZGVzIGEgZGVmYXVsdCBCLXRyZWUgb3BjbGFzcy4gwqBJdCBhZGRzIHNldC1zdHlsZSBo ZWxwZXJzLCBhPC9kaXY+PGRpdj4rIMKgdGV4dHVhbCBib29sZWFuIHF1ZXJ5IHR5cGUgKCZsdDt0 eXBlJmd0O2FueXF1ZXJ5Jmx0Oy90eXBlJmd0OyksIGFuZCBpbmRleCBzdXBwb3J0IHRoYXQ8L2Rp dj48ZGl2PisgwqB3b3JrcyBmb3IgYXJiaXRyYXJ5IGVsZW1lbnQgdHlwZXMuPC9kaXY+PGRpdj4r ICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgJmx0O3BhcmEmZ3Q7PC9kaXY+ PGRpdj4rIMKgQWxsIG9wZXJhdGlvbnMgcmVqZWN0IGFycmF5cyB0aGF0IGNvbnRhaW4gJmx0O2xp dGVyYWwmZ3Q7TlVMTCZsdDsvbGl0ZXJhbCZndDsgZWxlbWVudHMsPC9kaXY+PGRpdj4rIMKgYW5k IHRoZXkgYXJlIGRlZmluZWQgb25seSBmb3Igb25lLWRpbWVuc2lvbmFsIGFycmF5cy48L2Rpdj48 ZGl2PisgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyAmbHQ7cGFyYSZndDs8 L2Rpdj48ZGl2PisgwqBUaGlzIG1vZHVsZSBpcyBub3QgbWFya2VkIGFzICZsdDtxdW90ZSZndDt0 cnVzdGVkJmx0Oy9xdW90ZSZndDs6IGluc3RhbGxpbmcgaXQ8L2Rpdj48ZGl2PisgwqByZXF1aXJl cyBkYXRhYmFzZS1sZXZlbCBwcml2aWxlZ2VzLCBiZWNhdXNlIHRoZSBpbmRleCBvcGVyYXRvciBj bGFzc2VzPC9kaXY+PGRpdj4rIMKgaXQgZGVmaW5lcyByZWZlciB0byBpbnRlcm5hbCBzdG9yYWdl IHR5cGVzLjwvZGl2PjxkaXY+KyAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r ICZsdDtzZWN0MiBpZD0iYW55YXJyYXktZnVuY3Mtb3BzIiZndDs8L2Rpdj48ZGl2PisgwqAmbHQ7 dGl0bGUmZ3Q7Jmx0O2ZpbGVuYW1lJmd0O2FueWFycmF5Jmx0Oy9maWxlbmFtZSZndDsgRnVuY3Rp b25zIGFuZCBPcGVyYXRvcnMmbHQ7L3RpdGxlJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDC oCZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCBUaGUgZnVuY3Rpb25zIHByb3ZpZGVkIGJ5ICZs dDtmaWxlbmFtZSZndDthbnlhcnJheSZsdDsvZmlsZW5hbWUmZ3Q7IGFyZSBsaXN0ZWQgaW48L2Rp dj48ZGl2PisgwqAgJmx0O3hyZWYgbGlua2VuZD0iYW55YXJyYXktZnVuYy10YWJsZSIvJmd0Oywg dGhlIG9wZXJhdG9ycyBpbjwvZGl2PjxkaXY+KyDCoCAmbHQ7eHJlZiBsaW5rZW5kPSJhbnlhcnJh eS1vcC10YWJsZSIvJmd0Oy48L2Rpdj48ZGl2PisgwqAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4r PC9kaXY+PGRpdj4rIMKgJmx0O3RhYmxlIGlkPSJhbnlhcnJheS1mdW5jLXRhYmxlIiZndDs8L2Rp dj48ZGl2PisgwqAgJmx0O3RpdGxlJmd0OyZsdDtmaWxlbmFtZSZndDthbnlhcnJheSZsdDsvZmls ZW5hbWUmZ3Q7IEZ1bmN0aW9ucyZsdDsvdGl0bGUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgJmx0O3Rn cm91cCBjb2xzPSIxIiZndDs8L2Rpdj48ZGl2PisgwqAgwqAgJmx0O3RoZWFkJmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCDCoCZsdDtyb3cmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDtlbnRyeSBy b2xlPSJmdW5jX3RhYmxlX2VudHJ5IiZndDsmbHQ7cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSIm Z3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgRnVuY3Rpb248L2Rpdj48ZGl2PisgwqAgwqAgwqAg Jmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAgwqBEZXNjcmlwdGlvbjwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEm Z3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDC oCDCoEV4YW1wbGUocyk8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0Oy9wYXJhJmd0OyZsdDsvZW50 cnkmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgJmx0Oy9yb3cmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKg ICZsdDsvdGhlYWQmZ3Q7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rIMKgIMKgICZsdDt0Ym9keSZn dDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7cm93Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAm bHQ7ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19z aWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtmdW5jdGlvbiZndDthbnlh cnJheV9zb3J0Jmx0Oy9mdW5jdGlvbiZndDsgKCAmbHQ7dHlwZSZndDthbnlhcnJheSZsdDsvdHlw ZSZndDsgWywgJmx0O3R5cGUmZ3Q7dGV4dCZsdDsvdHlwZSZndDsgXSApPC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgJmx0O3JldHVybnZhbHVlJmd0O2FueWFycmF5Jmx0Oy9yZXR1cm52YWx1ZSZndDs8 L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAm bHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqBTb3J0cyBhbiBhcnJheS4gwqBUaGUg b3B0aW9uYWwgc2Vjb25kIGFyZ3VtZW50IGlzPC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0O2xp dGVyYWwmZ3Q7YXNjJmx0Oy9saXRlcmFsJmd0OyAoZGVmYXVsdCkgb3IgJmx0O2xpdGVyYWwmZ3Q7 ZGVzYyZsdDsvbGl0ZXJhbCZndDsuPC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDsvcGFyYSZndDs8 L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKg Jmx0O2xpdGVyYWwmZ3Q7YW55YXJyYXlfc29ydCgnezMsMSwyfSc6OmludDhbXSkmbHQ7L2xpdGVy YWwmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0O3JldHVybnZhbHVlJmd0O3sxLDIsM30m bHQ7L3JldHVybnZhbHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7Jmx0 Oy9lbnRyeSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7cm93Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7 ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWdu YXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtmdW5jdGlvbiZndDthbnlhcnJh eV91bmlxJmx0Oy9mdW5jdGlvbiZndDsgKCAmbHQ7dHlwZSZndDthbnlhcnJheSZsdDsvdHlwZSZn dDsgKTwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtyZXR1cm52YWx1ZSZndDthbnlhcnJheSZs dDsvcmV0dXJudmFsdWUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDsvcGFyYSZndDs8L2Rp dj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgUmVt b3ZlcyBkdXBsaWNhdGVzIGZyb20gdGhlIGFycmF5LCByZXR1cm5pbmcgdGhlIHNvcnRlZCB1bmlx dWU8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqBlbGVtZW50cy48L2Rpdj48ZGl2PisgwqAgwqAgwqAg Jmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAgwqAmbHQ7bGl0ZXJhbCZndDthbnlhcnJheV91bmlxKCd7MSwxLDIsMywzfSc6 OmludDhbXSkmbHQ7L2xpdGVyYWwmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0O3JldHVy bnZhbHVlJmd0O3sxLDIsM30mbHQ7L3JldHVybnZhbHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDC oCAmbHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7L3Jv dyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7cm93Jmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCDCoCAmbHQ7ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3Bh cmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtm dW5jdGlvbiZndDthbnlhcnJheV9pZHgmbHQ7L2Z1bmN0aW9uJmd0OyAoICZsdDt0eXBlJmd0O2Fu eWFycmF5Jmx0Oy90eXBlJmd0OywgJmx0O3R5cGUmZ3Q7YW55ZWxlbWVudCZsdDsvdHlwZSZndDsg KTwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtyZXR1cm52YWx1ZSZndDtpbnRlZ2VyJmx0Oy9y ZXR1cm52YWx1ZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0Oy9wYXJhJmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCDCoCAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqBSZXR1cm5z IHRoZSAxLWJhc2VkIGluZGV4IG9mIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mIHRoZSBlbGVtZW50 LDwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoG9yIDAgaWYgbm90IGZvdW5kLjwvZGl2PjxkaXY+KyDC oCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDtwYXJhJmd0Ozwv ZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtsaXRlcmFsJmd0O2FueWFycmF5X2lkeChBUlJBWVsn YScsJ2InLCdjJ10sICdiJykmbHQ7L2xpdGVyYWwmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKg Jmx0O3JldHVybnZhbHVlJmd0OzImbHQ7L3JldHVybnZhbHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDC oCDCoCAmbHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7 L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7cm93Jmd0OzwvZGl2 PjxkaXY+KyDCoCDCoCDCoCAmbHQ7ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0 O3BhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZs dDtmdW5jdGlvbiZndDthbnlhcnJheV9zdWJhcnJheSZsdDsvZnVuY3Rpb24mZ3Q7ICggJmx0O3R5 cGUmZ3Q7YW55YXJyYXkmbHQ7L3R5cGUmZ3Q7LCAmbHQ7cGFyYW1ldGVyJmd0O3N0YXJ0Jmx0Oy9w YXJhbWV0ZXImZ3Q7ICZsdDt0eXBlJmd0O2ludGVnZXImbHQ7L3R5cGUmZ3Q7IFssICZsdDtwYXJh bWV0ZXImZ3Q7bGVuZ3RoJmx0Oy9wYXJhbWV0ZXImZ3Q7ICZsdDt0eXBlJmd0O2ludGVnZXImbHQ7 L3R5cGUmZ3Q7IF0gKTwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtyZXR1cm52YWx1ZSZndDth bnlhcnJheSZsdDsvcmV0dXJudmFsdWUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDsvcGFy YSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKg IMKgIMKgUmV0dXJucyBhIGNvbnRpZ3VvdXMgc2xpY2Ugc3RhcnRpbmcgYXQgJmx0O3BhcmFtZXRl ciZndDtzdGFydCZsdDsvcGFyYW1ldGVyJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCgxLWJh c2VkKS4gwqBJZiAmbHQ7cGFyYW1ldGVyJmd0O2xlbmd0aCZsdDsvcGFyYW1ldGVyJmd0OyBpcyBv bWl0dGVkIHRoZSBzbGljZTwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoGV4dGVuZHMgdG8gdGhlIGVu ZCBvZiB0aGUgYXJyYXkuIMKgT3V0LW9mLXJhbmdlIHBvc2l0aW9ucyBvcjwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoG5vbi1wb3NpdGl2ZSBsZW5ndGhzIHByb2R1Y2UgYW4gZW1wdHkgYXJyYXkuPC9k aXY+PGRpdj4rIMKgIMKgIMKgICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0 O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0O2xpdGVyYWwmZ3Q7YW55YXJyYXlf c3ViYXJyYXkoJ3sxLDIsMyw0LDV9Jzo6aW50OFtdLCAyLCAyKSZsdDsvbGl0ZXJhbCZndDs8L2Rp dj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7cmV0dXJudmFsdWUmZ3Q7ezIsM30mbHQ7L3JldHVybnZh bHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8 L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2Pisg wqAgwqAgwqAmbHQ7cm93Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7ZW50cnkgcm9sZT0i ZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0Ozwv ZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtmdW5jdGlvbiZndDthbnlhcnJheV9pY291bnQmbHQ7 L2Z1bmN0aW9uJmd0OyAoICZsdDt0eXBlJmd0O2FueWFycmF5Jmx0Oy90eXBlJmd0OyApPC9kaXY+ PGRpdj4rIMKgIMKgIMKgIMKgJmx0O3JldHVybnZhbHVlJmd0O2ludGVnZXImbHQ7L3JldHVybnZh bHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKg IMKgIMKgICZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoFJldHVybnMgdGhlIG51 bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgYXJyYXkgKGV4cG9zZWQgdW5kZXIgdGhlPC9kaXY+PGRp dj4rIMKgIMKgIMKgIMKgJmx0O2xpdGVyYWwmZ3Q7IyZsdDsvbGl0ZXJhbCZndDsgb3BlcmF0b3Ip LjwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKg ICZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtsaXRlcmFsJmd0O2FueWFy cmF5X2ljb3VudCgnezEwLDIwLDMwfSc6OmludDhbXSkmbHQ7L2xpdGVyYWwmZ3Q7PC9kaXY+PGRp dj4rIMKgIMKgIMKgIMKgJmx0O3JldHVybnZhbHVlJmd0OzMmbHQ7L3JldHVybnZhbHVlJmd0Ozwv ZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgwqAgwqAm bHQ7cm93Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7ZW50cnkgcm9sZT0iZnVuY190YWJs ZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+ KyDCoCDCoCDCoCDCoCZsdDtmdW5jdGlvbiZndDthbnlhcnJheV9pbnRlcnNlY3QmbHQ7L2Z1bmN0 aW9uJmd0OyAoICZsdDt0eXBlJmd0O2FueWFycmF5Jmx0Oy90eXBlJmd0OywgJmx0O3R5cGUmZ3Q7 YW55YXJyYXkmbHQ7L3R5cGUmZ3Q7ICk8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7cmV0dXJu dmFsdWUmZ3Q7YW55YXJyYXkmbHQ7L3JldHVybnZhbHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDC oCAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDtwYXJhJmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCDCoCDCoFJldHVybnMgdGhlIHNvcnRlZCwgZGVkdXBsaWNhdGVkIHZhbHVlcyBw cmVzZW50IGluIGJvdGggaW5wdXRzLjwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7 PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDC oCZsdDtsaXRlcmFsJmd0O2FueWFycmF5X2ludGVyc2VjdCgnezEsMiwzfSc6OmludDhbXSwgJ3sy LDMsNH0nKSZsdDsvbGl0ZXJhbCZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7cmV0dXJu dmFsdWUmZ3Q7ezIsM30mbHQ7L3JldHVybnZhbHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAm bHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7L3JvdyZn dDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7cm93Jmd0OzwvZGl2PjxkaXY+ KyDCoCDCoCDCoCAmbHQ7ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEg cm9sZT0iZnVuY19zaWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtmdW5j dGlvbiZndDthbnlhcnJheV91bmlvbiZsdDsvZnVuY3Rpb24mZ3Q7ICggJmx0O3R5cGUmZ3Q7YW55 YXJyYXkmbHQ7L3R5cGUmZ3Q7LCAmbHQ7dHlwZSZndDthbnlhcnJheSZsdDsvdHlwZSZndDsgKTwv ZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtyZXR1cm52YWx1ZSZndDthbnlhcnJheSZsdDsvcmV0 dXJudmFsdWUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgUmV0dXJucyB0 aGUgc29ydGVkLCBkZWR1cGxpY2F0ZWQgdW5pb24gb2YgYm90aCBpbnB1dHMuPC9kaXY+PGRpdj4r IMKgIMKgIMKgICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7 PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0O2xpdGVyYWwmZ3Q7YW55YXJyYXlfdW5pb24oJ3sx LDJ9Jzo6aW50OFtdLCAnezIsM30nKSZsdDsvbGl0ZXJhbCZndDs8L2Rpdj48ZGl2PisgwqAgwqAg wqAgwqAmbHQ7cmV0dXJudmFsdWUmZ3Q7ezEsMiwzfSZsdDsvcmV0dXJudmFsdWUmZ3Q7PC9kaXY+ PGRpdj4rIMKgIMKgIMKgICZsdDsvcGFyYSZndDsmbHQ7L2VudHJ5Jmd0OzwvZGl2PjxkaXY+KyDC oCDCoCDCoCZsdDsvcm93Jmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCDCoCDCoCZsdDty b3cmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDtlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2Vu dHJ5IiZndDsmbHQ7cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSImZ3Q7PC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgJmx0O2Z1bmN0aW9uJmd0O2FueWFycmF5X3VuaW9uX2VsZW0mbHQ7L2Z1bmN0aW9u Jmd0OyAoICZsdDt0eXBlJmd0O2FueWFycmF5Jmx0Oy90eXBlJmd0OywgJmx0O3R5cGUmZ3Q7YW55 ZWxlbWVudCZsdDsvdHlwZSZndDsgKTwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtyZXR1cm52 YWx1ZSZndDthbnlhcnJheSZsdDsvcmV0dXJudmFsdWUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKg ICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRp dj4rIMKgIMKgIMKgIMKgQWRkcyBhbiBlbGVtZW50IHRvIHRoZSBhcnJheSBpZiBub3QgYWxyZWFk eSBwcmVzZW50OyByZXN1bHQgaXM8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqBzb3J0ZWQgYW5kIGRl ZHVwbGljYXRlZC48L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+ KyDCoCDCoCDCoCAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7bGl0ZXJh bCZndDthbnlhcnJheV91bmlvbl9lbGVtKCd7MSwyLDN9Jzo6aW50OFtdLCA0OjppbnQ4KSZsdDsv bGl0ZXJhbCZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7cmV0dXJudmFsdWUmZ3Q7ezEs MiwzLDR9Jmx0Oy9yZXR1cm52YWx1ZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0Oy9wYXJh Jmd0OyZsdDsvZW50cnkmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgJmx0Oy9yb3cmZ3Q7PC9kaXY+ PGRpdj4rPC9kaXY+PGRpdj4rIMKgIMKgIMKgJmx0O3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAg wqAgJmx0O2VudHJ5IHJvbGU9ImZ1bmNfdGFibGVfZW50cnkiJmd0OyZsdDtwYXJhIHJvbGU9ImZ1 bmNfc2lnbmF0dXJlIiZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7ZnVuY3Rpb24mZ3Q7 YW55YXJyYXlfZGlmZmVyZW5jZSZsdDsvZnVuY3Rpb24mZ3Q7ICggJmx0O3R5cGUmZ3Q7YW55YXJy YXkmbHQ7L3R5cGUmZ3Q7LCAmbHQ7dHlwZSZndDthbnlhcnJheSZsdDsvdHlwZSZndDsgKTwvZGl2 PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtyZXR1cm52YWx1ZSZndDthbnlhcnJheSZsdDsvcmV0dXJu dmFsdWUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2Pisg wqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgUmV0dXJucyB0aGUg c29ydGVkLCBkZWR1cGxpY2F0ZWQgdmFsdWVzIGZyb20gdGhlIGZpcnN0IGFycmF5IHRoYXQ8L2Rp dj48ZGl2PisgwqAgwqAgwqAgwqBhcmUgbm90IGluIHRoZSBzZWNvbmQuPC9kaXY+PGRpdj4rIMKg IMKgIMKgICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9k aXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0O2xpdGVyYWwmZ3Q7YW55YXJyYXlfZGlmZmVyZW5jZSgn ezEsMiwzLDR9Jzo6aW50OFtdLCAnezIsNH0nKSZsdDsvbGl0ZXJhbCZndDs8L2Rpdj48ZGl2Pisg wqAgwqAgwqAgwqAmbHQ7cmV0dXJudmFsdWUmZ3Q7ezEsM30mbHQ7L3JldHVybnZhbHVlJmd0Ozwv ZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgwqAgwqAm bHQ7cm93Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7ZW50cnkgcm9sZT0iZnVuY190YWJs ZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+ KyDCoCDCoCDCoCDCoCZsdDtmdW5jdGlvbiZndDthbnlhcnJheV9kaWZmZXJlbmNlX2VsZW0mbHQ7 L2Z1bmN0aW9uJmd0OyAoICZsdDt0eXBlJmd0O2FueWFycmF5Jmx0Oy90eXBlJmd0OywgJmx0O3R5 cGUmZ3Q7YW55ZWxlbWVudCZsdDsvdHlwZSZndDsgKTwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZs dDtyZXR1cm52YWx1ZSZndDthbnlhcnJheSZsdDsvcmV0dXJudmFsdWUmZ3Q7PC9kaXY+PGRpdj4r IMKgIMKgIMKgICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7 PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgUmVtb3ZlcyBhbGwgb2NjdXJyZW5jZXMgb2YgdGhlIGdp dmVuIGVsZW1lbnQsIHByZXNlcnZpbmcgdGhlPC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgcmVsYXRp dmUgb3JkZXIgb2YgdGhlIHN1cnZpdmluZyBlbGVtZW50cy48L2Rpdj48ZGl2PisgwqAgwqAgwqAg Jmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAgwqAmbHQ7bGl0ZXJhbCZndDthbnlhcnJheV9kaWZmZXJlbmNlX2VsZW0oJ3sx LDIsMiwzLDJ9Jzo6aW50OFtdLCAyOjppbnQ4KSZsdDsvbGl0ZXJhbCZndDs8L2Rpdj48ZGl2Pisg wqAgwqAgwqAgwqAmbHQ7cmV0dXJudmFsdWUmZ3Q7ezEsM30mbHQ7L3JldHVybnZhbHVlJmd0Ozwv ZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgwqAgwqAm bHQ7cm93Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7ZW50cnkgcm9sZT0iZnVuY190YWJs ZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+ KyDCoCDCoCDCoCDCoCZsdDtmdW5jdGlvbiZndDthbnlxdWVyeV9xdWVyeXRyZWUmbHQ7L2Z1bmN0 aW9uJmd0OyAoICZsdDt0eXBlJmd0O2FueXF1ZXJ5Jmx0Oy90eXBlJmd0OyApPC9kaXY+PGRpdj4r IMKgIMKgIMKgIMKgJmx0O3JldHVybnZhbHVlJmd0O3RleHQmbHQ7L3JldHVybnZhbHVlJmd0Ozwv ZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZs dDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoFJldHVybnMgdGhlIHF1ZXJ5IGluIHBv c3RmaXggZm9ybTsgdXNlZnVsIGZvciBkZWJ1Z2dpbmcuPC9kaXY+PGRpdj4rIMKgIMKgIMKgICZs dDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4r IMKgIMKgIMKgIMKgJmx0O2xpdGVyYWwmZ3Q7YW55cXVlcnlfcXVlcnl0cmVlKCcxICZhbXA7YW1w OyAyIHwgMyc6OmFueXF1ZXJ5KSZsdDsvbGl0ZXJhbCZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAg wqAmbHQ7cmV0dXJudmFsdWUmZ3Q7MSAyICZhbXA7YW1wOyAzIHwmbHQ7L3JldHVybnZhbHVlJmd0 OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3BhcmEmZ3Q7Jmx0Oy9lbnRyeSZndDs8L2Rpdj48 ZGl2PisgwqAgwqAgwqAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAgJmx0Oy90Ym9keSZn dDs8L2Rpdj48ZGl2PisgwqAgwqAmbHQ7L3Rncm91cCZndDs8L2Rpdj48ZGl2PisgwqAgJmx0Oy90 YWJsZSZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgJmx0O3RhYmxlIGlkPSJhbnlhcnJh eS1vcC10YWJsZSImZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgJmx0O3RpdGxlJmd0OyZsdDtmaWxlbmFt ZSZndDthbnlhcnJheSZsdDsvZmlsZW5hbWUmZ3Q7IE9wZXJhdG9ycyZsdDsvdGl0bGUmZ3Q7PC9k aXY+PGRpdj4rIMKgIMKgICZsdDt0Z3JvdXAgY29scz0iMSImZ3Q7PC9kaXY+PGRpdj4rIMKgIMKg IMKgJmx0O3RoZWFkJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7cm93Jmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCDCoCDCoCZsdDtlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5IiZndDsmbHQ7 cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSImZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIE9w ZXJhdG9yPC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoCZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCBEZXNjcmlwdGlv bjwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7L2VudHJ5Jmd0OzwvZGl2 PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7L3Ro ZWFkJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCDCoCDCoCZsdDt0Ym9keSZndDs8L2Rp dj48ZGl2PisgwqAgwqAgwqAgJmx0O3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7 ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWdu YXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCAmbHQ7dHlwZSZndDsmbHQ7L3R5cGUm Z3Q7ICZsdDtsaXRlcmFsJmd0OyMmbHQ7L2xpdGVyYWwmZ3Q7ICZsdDt0eXBlJmd0O2FueWFycmF5 Jmx0Oy90eXBlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCAmbHQ7cmV0dXJudmFsdWUmZ3Q7 aW50ZWdlciZsdDsvcmV0dXJudmFsdWUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0Oy9w YXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoCBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5IChw cmVmaXggb3BlcmF0b3IpLjwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7 L2VudHJ5Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAm bHQ7ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19z aWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCAmbHQ7dHlwZSZndDthbnlhcnJh eSZsdDsvdHlwZSZndDsgJmx0O2xpdGVyYWwmZ3Q7IyZsdDsvbGl0ZXJhbCZndDsgJmx0O3R5cGUm Z3Q7YW55ZWxlbWVudCZsdDsvdHlwZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgJmx0O3Jl dHVybnZhbHVlJmd0O2ludGVnZXImbHQ7L3JldHVybnZhbHVlJmd0OzwvZGl2PjxkaXY+KyDCoCDC oCDCoCDCoCZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7cGFyYSZndDs8 L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgUmV0dXJucyB0aGUgMS1iYXNlZCBpbmRleCBvZiB0aGUg cmlnaHQgb3BlcmFuZCBpbiB0aGUgYXJyYXksIG9yIDA8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAg aWYgbm90IGZvdW5kLiDCoFNhbWUgYXMgJmx0O2Z1bmN0aW9uJmd0O2FueWFycmF5X2lkeCZsdDsv ZnVuY3Rpb24mZ3Q7LjwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7L2Vu dHJ5Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rp dj48ZGl2PisgwqAgwqAgwqAgJmx0O3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7 ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWdu YXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCAmbHQ7dHlwZSZndDthbnlhcnJheSZs dDsvdHlwZSZndDsgJmx0O2xpdGVyYWwmZ3Q7JmFtcDthbXA7Jmx0Oy9saXRlcmFsJmd0OyAmbHQ7 dHlwZSZndDthbnlhcnJheSZsdDsvdHlwZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgJmx0 O3JldHVybnZhbHVlJmd0O2FueWFycmF5Jmx0Oy9yZXR1cm52YWx1ZSZndDs8L2Rpdj48ZGl2Pisg wqAgwqAgwqAgwqAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0O3BhcmEm Z3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIFNldCBpbnRlcnNlY3Rpb24gb2YgdGhlIG9wZXJh bmRzLjwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7L2VudHJ5Jmd0Ozwv ZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2Pisg wqAgwqAgwqAgJmx0O3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7ZW50cnkgcm9s ZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0 OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCAmbHQ7dHlwZSZndDthbnlhcnJheSZsdDsvdHlwZSZn dDsgJmx0O2xpdGVyYWwmZ3Q7fCZsdDsvbGl0ZXJhbCZndDsgJmx0O3R5cGUmZ3Q7YW55YXJyYXkm bHQ7L3R5cGUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgICZsdDtyZXR1cm52YWx1ZSZndDth bnlhcnJheSZsdDsvcmV0dXJudmFsdWUmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgJmx0Oy9w YXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoCBTZXQgdW5pb24gb2YgdGhlIG9wZXJhbmRzLjwvZGl2PjxkaXY+KyDCoCDCoCDC oCDCoCZsdDsvcGFyYSZndDsmbHQ7L2VudHJ5Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7 L3JvdyZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgwqAgwqAgJmx0O3JvdyZndDs8L2Rp dj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7ZW50cnkgcm9sZT0iZnVuY190YWJsZV9lbnRyeSImZ3Q7 Jmx0O3BhcmEgcm9sZT0iZnVuY19zaWduYXR1cmUiJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDC oCAmbHQ7dHlwZSZndDthbnlhcnJheSZsdDsvdHlwZSZndDsgJmx0O2xpdGVyYWwmZ3Q7fCZsdDsv bGl0ZXJhbCZndDsgJmx0O3R5cGUmZ3Q7YW55ZWxlbWVudCZsdDsvdHlwZSZndDs8L2Rpdj48ZGl2 PisgwqAgwqAgwqAgwqAgJmx0O3JldHVybnZhbHVlJmd0O2FueWFycmF5Jmx0Oy9yZXR1cm52YWx1 ZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIEFkZHMgdGhlIHJp Z2h0IG9wZXJhbmQgdG8gdGhlIGFycmF5IGlmIG5vdCBhbHJlYWR5IHByZXNlbnQuPC9kaXY+PGRp dj4rIMKgIMKgIMKgIMKgJmx0Oy9wYXJhJmd0OyZsdDsvZW50cnkmZ3Q7PC9kaXY+PGRpdj4rIMKg IMKgIMKgICZsdDsvcm93Jmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7 cm93Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtlbnRyeSByb2xlPSJmdW5jX3RhYmxl X2VudHJ5IiZndDsmbHQ7cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSImZ3Q7PC9kaXY+PGRpdj4r IMKgIMKgIMKgIMKgICZsdDt0eXBlJmd0O2FueWFycmF5Jmx0Oy90eXBlJmd0OyAmbHQ7bGl0ZXJh bCZndDstJmx0Oy9saXRlcmFsJmd0OyAmbHQ7dHlwZSZndDthbnlhcnJheSZsdDsvdHlwZSZndDs8 L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgJmx0O3JldHVybnZhbHVlJmd0O2FueWFycmF5Jmx0Oy9y ZXR1cm52YWx1ZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7L3BhcmEmZ3Q7PC9kaXY+ PGRpdj4rIMKgIMKgIMKgIMKgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIFNl dCBkaWZmZXJlbmNlOiBlbGVtZW50cyBvZiB0aGUgbGVmdCBhcnJheSBub3QgcHJlc2VudCBpbiB0 aGU8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgcmlnaHQuPC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKg Jmx0Oy9wYXJhJmd0OyZsdDsvZW50cnkmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgICZsdDsvcm93 Jmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7cm93Jmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCDCoCDCoCZsdDtlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2VudHJ5IiZndDsmbHQ7 cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSImZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgICZs dDt0eXBlJmd0O2FueWFycmF5Jmx0Oy90eXBlJmd0OyAmbHQ7bGl0ZXJhbCZndDstJmx0Oy9saXRl cmFsJmd0OyAmbHQ7dHlwZSZndDthbnllbGVtZW50Jmx0Oy90eXBlJmd0OzwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoCAmbHQ7cmV0dXJudmFsdWUmZ3Q7YW55YXJyYXkmbHQ7L3JldHVybnZhbHVlJmd0 OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAg wqAgwqAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAgUmVtb3ZlcyBhbGwgb2Nj dXJyZW5jZXMgb2YgdGhlIHJpZ2h0IG9wZXJhbmQgZnJvbSB0aGUgYXJyYXkuPC9kaXY+PGRpdj4r IMKgIMKgIMKgIMKgJmx0Oy9wYXJhJmd0OyZsdDsvZW50cnkmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKg IMKgICZsdDsvcm93Jmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7cm93 Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2Vu dHJ5IiZndDsmbHQ7cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSImZ3Q7PC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgICZsdDt0eXBlJmd0O2FueWFycmF5Jmx0Oy90eXBlJmd0OyAmbHQ7bGl0ZXJhbCZn dDtAQCZsdDsvbGl0ZXJhbCZndDsgJmx0O3R5cGUmZ3Q7YW55cXVlcnkmbHQ7L3R5cGUmZ3Q7PC9k aXY+PGRpdj4rIMKgIMKgIMKgIMKgICZsdDtyZXR1cm52YWx1ZSZndDtib29sZWFuJmx0Oy9yZXR1 cm52YWx1ZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRp dj4rIMKgIMKgIMKgIMKgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIFRydWUg aWYgdGhlIGFycmF5IHNhdGlzZmllcyB0aGUgcXVlcnkgKHNlZSBiZWxvdykuPC9kaXY+PGRpdj4r IMKgIMKgIMKgIMKgJmx0Oy9wYXJhJmd0OyZsdDsvZW50cnkmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKg IMKgICZsdDsvcm93Jmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCDCoCDCoCAmbHQ7cm93 Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDCoCDCoCZsdDtlbnRyeSByb2xlPSJmdW5jX3RhYmxlX2Vu dHJ5IiZndDsmbHQ7cGFyYSByb2xlPSJmdW5jX3NpZ25hdHVyZSImZ3Q7PC9kaXY+PGRpdj4rIMKg IMKgIMKgIMKgICZsdDt0eXBlJmd0O2FueXF1ZXJ5Jmx0Oy90eXBlJmd0OyAmbHQ7bGl0ZXJhbCZn dDt+fiZsdDsvbGl0ZXJhbCZndDsgJmx0O3R5cGUmZ3Q7YW55YXJyYXkmbHQ7L3R5cGUmZ3Q7PC9k aXY+PGRpdj4rIMKgIMKgIMKgIMKgICZsdDtyZXR1cm52YWx1ZSZndDtib29sZWFuJmx0Oy9yZXR1 cm52YWx1ZSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAgwqAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRp dj4rIMKgIMKgIMKgIMKgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKgIMKgIMKgIENvbW11 dGF0b3Igb2YgJmx0O2xpdGVyYWwmZ3Q7QEAmbHQ7L2xpdGVyYWwmZ3Q7LjwvZGl2PjxkaXY+KyDC oCDCoCDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7L2VudHJ5Jmd0OzwvZGl2PjxkaXY+KyDCoCDCoCDC oCAmbHQ7L3JvdyZndDs8L2Rpdj48ZGl2PisgwqAgwqAgwqAmbHQ7L3Rib2R5Jmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCAmbHQ7L3Rncm91cCZndDs8L2Rpdj48ZGl2PisgwqAgJmx0Oy90YWJsZSZndDs8 L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgJmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIMKg VGhlIG9wZXJhdG9ycyAmbHQ7bGl0ZXJhbCZndDsmYW1wO2FtcDsmYW1wO2FtcDsmbHQ7L2xpdGVy YWwmZ3Q7LCAmbHQ7bGl0ZXJhbCZndDtAJmFtcDtndDsmbHQ7L2xpdGVyYWwmZ3Q7LDwvZGl2Pjxk aXY+KyDCoCDCoCZsdDtsaXRlcmFsJmd0OyZhbXA7bHQ7QCZsdDsvbGl0ZXJhbCZndDsgYW5kICZs dDtsaXRlcmFsJmd0Oz0mbHQ7L2xpdGVyYWwmZ3Q7IG9uIGFycmF5cyBhcmU8L2Rpdj48ZGl2Pisg wqAgwqAmbHQ7ZW1waGFzaXMmZ3Q7bm90Jmx0Oy9lbXBoYXNpcyZndDsgcmVkZWZpbmVkIGJ5IHRo aXMgZXh0ZW5zaW9uOyB0aGUgYnVpbHQtaW48L2Rpdj48ZGl2PisgwqAgwqBQb3N0Z3JlU1FMIG9w ZXJhdG9ycyBhcmUgdXNlZC48L2Rpdj48ZGl2PisgwqAgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+ KyAmbHQ7L3NlY3QyJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyAmbHQ7c2VjdDIgaWQ9ImFu eWFycmF5LXF1ZXJ5IiZndDs8L2Rpdj48ZGl2PisgwqAmbHQ7dGl0bGUmZ3Q7VGhlICZsdDt0eXBl Jmd0O2FueXF1ZXJ5Jmx0Oy90eXBlJmd0OyBUeXBlJmx0Oy90aXRsZSZndDs8L2Rpdj48ZGl2Pis8 L2Rpdj48ZGl2PisgwqAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgJmx0O3R5cGUmZ3Q7YW55 cXVlcnkmbHQ7L3R5cGUmZ3Q7IHJlcHJlc2VudHMgYSBib29sZWFuIGV4cHJlc3Npb24gb3ZlciBh cnJheTwvZGl2PjxkaXY+KyDCoCBlbGVtZW50cy4gwqBWYWx1ZXMgYXJlIHRleHR1YWwgdG9rZW5z OyB0aGUgZWxlbWVudCB0eXBlIHVzZWQgdG8gaW50ZXJwcmV0PC9kaXY+PGRpdj4rIMKgIHRoZW0g aXMgZGV0ZXJtaW5lZCBieSB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgJmx0O2xpdGVyYWwmZ3Q7QEAm bHQ7L2xpdGVyYWwmZ3Q7IGF0PC9kaXY+PGRpdj4rIMKgIHF1ZXJ5IHRpbWUuIMKgVG9rZW5zIGFy ZSBjb21iaW5lZCB3aXRoIHRoZSBvcGVyYXRvcnM8L2Rpdj48ZGl2PisgwqAgJmx0O2xpdGVyYWwm Z3Q7JmFtcDthbXA7Jmx0Oy9saXRlcmFsJmd0OyAoQU5EKSwgJmx0O2xpdGVyYWwmZ3Q7fCZsdDsv bGl0ZXJhbCZndDsgKE9SKSBhbmQ8L2Rpdj48ZGl2PisgwqAgJmx0O2xpdGVyYWwmZ3Q7ISZsdDsv bGl0ZXJhbCZndDsgKE5PVCkuIMKgUGFyZW50aGVzZXMgY29udHJvbCBwcmVjZWRlbmNlOyB3aXRo b3V0PC9kaXY+PGRpdj4rIMKgIHRoZW0gJmx0O2xpdGVyYWwmZ3Q7JmFtcDthbXA7Jmx0Oy9saXRl cmFsJmd0OyBiaW5kcyB0aWdodGVyIHRoYW4gJmx0O2xpdGVyYWwmZ3Q7fCZsdDsvbGl0ZXJhbCZn dDsuPC9kaXY+PGRpdj4rIMKgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDC oCZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCBBIHRva2VuIGNvbnNpc3RzIG9mIGFueSBzZXF1 ZW5jZSBvZiBjaGFyYWN0ZXJzIHRoYXQgYXJlIG5vdCB3aGl0ZXNwYWNlPC9kaXY+PGRpdj4rIMKg IG9yIG9uZSBvZiAmbHQ7bGl0ZXJhbCZndDsmYW1wO2FtcDsgfCAhICggKSAiJmx0Oy9saXRlcmFs Jmd0Oy4gwqBUbyBpbmNsdWRlIHRob3NlPC9kaXY+PGRpdj4rIMKgIGNoYXJhY3RlcnMgb3IgZW1i ZWRkZWQgd2hpdGVzcGFjZSwgd3JhcCB0aGUgdG9rZW4gaW4gZG91YmxlIHF1b3Rlczo8L2Rpdj48 ZGl2PisgwqAgJmx0O2xpdGVyYWwmZ3Q7ImhlbGxvIHdvcmxkIiZsdDsvbGl0ZXJhbCZndDsuIMKg SW5zaWRlIHF1b3RlcywgYSBiYWNrc2xhc2ggZXNjYXBlczwvZGl2PjxkaXY+KyDCoCB0aGUgbmV4 dCBjaGFyYWN0ZXIuPC9kaXY+PGRpdj4rIMKgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KzwvZGl2 PjxkaXY+KyDCoCZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCBBdCBldmFsdWF0aW9uIHRpbWUs IGVhY2ggdG9rZW4gaXMgcGFyc2VkIGJ5IHRoZSBpbnB1dCBmdW5jdGlvbiBvZiB0aGU8L2Rpdj48 ZGl2PisgwqAgYXJyYXkncyBlbGVtZW50IHR5cGUuIMKgVGhpcyBtZWFuczwvZGl2PjxkaXY+KyDC oCAmbHQ7bGl0ZXJhbCZndDsnMSAmYW1wO2FtcDsgMic6OmFueXF1ZXJ5IEBAIEFSUkFZWzEsMiwz XTo6YmlnaW50W10mbHQ7L2xpdGVyYWwmZ3Q7PC9kaXY+PGRpdj4rIMKgIHBhcnNlcyAmbHQ7cXVv dGUmZ3Q7MSZsdDsvcXVvdGUmZ3Q7IGFuZCAmbHQ7cXVvdGUmZ3Q7MiZsdDsvcXVvdGUmZ3Q7IGFz ICZsdDt0eXBlJmd0O2JpZ2ludCZsdDsvdHlwZSZndDs7IHRoZTwvZGl2PjxkaXY+KyDCoCBzYW1l IHF1ZXJ5IGFnYWluc3QgYSAmbHQ7dHlwZSZndDt0ZXh0W10mbHQ7L3R5cGUmZ3Q7IGNvbHVtbiBj b21wYXJlcyB0aGUgbGl0ZXJhbDwvZGl2PjxkaXY+KyDCoCBzdHJpbmdzICZsdDtxdW90ZSZndDsx Jmx0Oy9xdW90ZSZndDsgYW5kICZsdDtxdW90ZSZndDsyJmx0Oy9xdW90ZSZndDsuIMKgQW4gdW5w YXJzZWFibGUgdG9rZW48L2Rpdj48ZGl2PisgwqAgcmFpc2VzIGFuIGVycm9yIGF0ICZsdDtsaXRl cmFsJmd0O0BAJmx0Oy9saXRlcmFsJmd0Oy10aW1lLCBub3QgYXQgcGFyc2UgdGltZS48L2Rpdj48 ZGl2PisgwqAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRpdj4rICZsdDsvc2VjdDImZ3Q7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rICZsdDtzZWN0MiBpZD0iYW55YXJyYXktaW5kZXgiJmd0OzwvZGl2Pjxk aXY+KyDCoCZsdDt0aXRsZSZndDtJbmRleCBTdXBwb3J0Jmx0Oy90aXRsZSZndDs8L2Rpdj48ZGl2 Pis8L2Rpdj48ZGl2PisgwqAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgJmx0O2ZpbGVuYW1l Jmd0O2FueWFycmF5Jmx0Oy9maWxlbmFtZSZndDsgcHJvdmlkZXMgYSBwb2x5bW9ycGhpYyBHaVNU IG9wY2xhc3MgYW5kPC9kaXY+PGRpdj4rIMKgIHBlci1lbGVtZW50LXR5cGUgR0lOIG9wY2xhc3Nl cy4gwqBBbGwgb2YgdGhlbSBzdXBwb3J0IHRoZSBzdGFuZGFyZCBhcnJheTwvZGl2PjxkaXY+KyDC oCBvcGVyYXRvcnMgKCZsdDtsaXRlcmFsJmd0OyZhbXA7YW1wOyZhbXA7YW1wOyZsdDsvbGl0ZXJh bCZndDssICZsdDtsaXRlcmFsJmd0O0AmYW1wO2d0OyZsdDsvbGl0ZXJhbCZndDssPC9kaXY+PGRp dj4rIMKgICZsdDtsaXRlcmFsJmd0OyZhbXA7bHQ7QCZsdDsvbGl0ZXJhbCZndDssICZsdDtsaXRl cmFsJmd0Oz0mbHQ7L2xpdGVyYWwmZ3Q7KSBhcyB3ZWxsIGFzPC9kaXY+PGRpdj4rIMKgICZsdDts aXRlcmFsJmd0O0BAJmx0Oy9saXRlcmFsJmd0Oy48L2Rpdj48ZGl2PisgwqAmbHQ7L3BhcmEmZ3Q7 PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rIMKgJmx0O3NlY3QzIGlkPSJhbnlhcnJheS1pbmRleC1n aXN0IiZndDs8L2Rpdj48ZGl2PisgwqAgJmx0O3RpdGxlJmd0O0dpU1Q6ICZsdDtsaXRlcmFsJmd0 O2FueWFycmF5X2dpc3Rfb3BzJmx0Oy9saXRlcmFsJmd0OyZsdDsvdGl0bGUmZ3Q7PC9kaXY+PGRp dj4rPC9kaXY+PGRpdj4rIMKgICZsdDtwYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCDCoEEgc2luZ2xl IG9wY2xhc3Mgb24gJmx0O3R5cGUmZ3Q7YW55YXJyYXkmbHQ7L3R5cGUmZ3Q7IHdvcmtzIGZvciBh bnkgZWxlbWVudCB0eXBlPC9kaXY+PGRpdj4rIMKgIMKgdGhhdCBoYXMgYSBkZWZhdWx0IGhhc2gg ZnVuY3Rpb24uIMKgRWFjaCBpbmRleGVkIGFycmF5IGlzIHN1bW1hcmlzZWQgYXM8L2Rpdj48ZGl2 PisgwqAgwqBhIGZpeGVkLXNpemUgYml0IHZlY3RvciBieSBoYXNoaW5nIGV2ZXJ5IGVsZW1lbnQg aW50byBvbmUgYml0OyBpbnRlcm5hbDwvZGl2PjxkaXY+KyDCoCDCoG5vZGVzIHN0b3JlIHRoZSB1 bmlvbiBvZiB0aGVpciBjaGlsZHJlbi4gwqBBbGwgbWF0Y2hlcyBhcmUgcmVjaGVja2VkPC9kaXY+ PGRpdj4rIMKgIMKgYmVjYXVzZSBzaWduYXR1cmVzIGFyZSBsb3NzeS48L2Rpdj48ZGl2PisgwqAg Jmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCAmbHQ7cGFyYSZndDs8L2Rp dj48ZGl2PisgwqAgwqBUaGUgb3B0aW9uYWwgaW50ZWdlciBwYXJhbWV0ZXIgJmx0O2xpdGVyYWwm Z3Q7c2lnbGVuJmx0Oy9saXRlcmFsJmd0OyBzZXRzIHRoZTwvZGl2PjxkaXY+KyDCoCDCoHNpZ25h dHVyZSBsZW5ndGggaW4gYnl0ZXMuIMKgVGhlIGRlZmF1bHQgaXMgMjUyIGJ5dGVzICgyMDE2IGJp dHMpOzwvZGl2PjxkaXY+KyDCoCDCoHZhbGlkIHZhbHVlcyBhcmUgYmV0d2VlbiAxIGFuZCB0aGUg aW5kZXgta2V5IHNpemUgbGltaXQuIMKgTG9uZ2VyPC9kaXY+PGRpdj4rIMKgIMKgc2lnbmF0dXJl cyBwcm9kdWNlIG1vcmUgcHJlY2lzZSBpbmRleGVzIGF0IHRoZSBjb3N0IG9mIG1vcmUgc3RvcmFn ZS48L2Rpdj48ZGl2PisgwqAgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDC oCAmbHQ7cHJvZ3JhbWxpc3RpbmcmZ3Q7PC9kaXY+PGRpdj4rQ1JFQVRFIElOREVYIG15X2lkeCBP TiBteV90YWJsZSBVU0lORyBnaXN0IChjb2wgYW55YXJyYXlfZ2lzdF9vcHMpOzwvZGl2PjxkaXY+ K0NSRUFURSBJTkRFWCBteV9pZHggT04gbXlfdGFibGUgVVNJTkcgZ2lzdCAoY29sIGFueWFycmF5 X2dpc3Rfb3BzKHNpZ2xlbj02NCkpOzwvZGl2PjxkaXY+KyDCoCAmbHQ7L3Byb2dyYW1saXN0aW5n Jmd0OzwvZGl2PjxkaXY+KyDCoCZsdDsvc2VjdDMmZ3Q7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4r IMKgJmx0O3NlY3QzIGlkPSJhbnlhcnJheS1pbmRleC1naW4iJmd0OzwvZGl2PjxkaXY+KyDCoCAm bHQ7dGl0bGUmZ3Q7R0lOOiBwZXItdHlwZSBvcGNsYXNzZXMmbHQ7L3RpdGxlJmd0OzwvZGl2Pjxk aXY+KzwvZGl2PjxkaXY+KyDCoCAmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqBCZWNhdXNl IHRoZSBHSU4gZXh0cmFjdFF1ZXJ5IEFQSSBkb2VzIG5vdCBleHBvc2UgdGhlIGluZGV4ZWQgY29s dW1uJ3M8L2Rpdj48ZGl2PisgwqAgwqBlbGVtZW50IHR5cGUgd2hlbiB0aGUgcXVlcnkgaXMgYW4g Jmx0O3R5cGUmZ3Q7YW55cXVlcnkmbHQ7L3R5cGUmZ3Q7LCBHSU4gc3VwcG9ydDwvZGl2PjxkaXY+ KyDCoCDCoGlzIHByb3ZpZGVkIGFzIG9uZSBvcGNsYXNzIHBlciBjb25jcmV0ZSBlbGVtZW50IHR5 cGUuIMKgQ3VycmVudGx5PC9kaXY+PGRpdj4rIMKgIMKgc3VwcGxpZWQ6PC9kaXY+PGRpdj4rIMKg ICZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgJmx0O2l0ZW1pemVkbGlz dCZndDs8L2Rpdj48ZGl2PisgwqAgwqAmbHQ7bGlzdGl0ZW0mZ3Q7Jmx0O3BhcmEmZ3Q7PC9kaXY+ PGRpdj4rIMKgIMKgICZsdDtsaXRlcmFsJmd0O2ludDhfYW55cXVlcnlfZ2luX29wcyZsdDsvbGl0 ZXJhbCZndDsgZm9yICZsdDt0eXBlJmd0O2JpZ2ludFtdJmx0Oy90eXBlJmd0OzwvZGl2PjxkaXY+ KyDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7L2xpc3RpdGVtJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCZs dDtsaXN0aXRlbSZndDsmbHQ7cGFyYSZndDs8L2Rpdj48ZGl2PisgwqAgwqAgJmx0O2xpdGVyYWwm Z3Q7dXVpZF9hbnlxdWVyeV9naW5fb3BzJmx0Oy9saXRlcmFsJmd0OyBmb3IgJmx0O3R5cGUmZ3Q7 dXVpZFtdJmx0Oy90eXBlJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7L2xp c3RpdGVtJmd0OzwvZGl2PjxkaXY+KyDCoCDCoCZsdDtsaXN0aXRlbSZndDsmbHQ7cGFyYSZndDs8 L2Rpdj48ZGl2PisgwqAgwqAgJmx0O2xpdGVyYWwmZ3Q7dGV4dF9hbnlxdWVyeV9naW5fb3BzJmx0 Oy9saXRlcmFsJmd0OyBmb3IgJmx0O3R5cGUmZ3Q7dGV4dFtdJmx0Oy90eXBlJmd0OzwvZGl2Pjxk aXY+KyDCoCDCoCZsdDsvcGFyYSZndDsmbHQ7L2xpc3RpdGVtJmd0OzwvZGl2PjxkaXY+KyDCoCAm bHQ7L2l0ZW1pemVkbGlzdCZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PisgwqAgJmx0O3BhcmEm Z3Q7PC9kaXY+PGRpdj4rIMKgIMKgVGhlc2Ugb3BjbGFzc2VzIGFyZSBkcm9wLWluIHJlcGxhY2Vt ZW50cyBmb3IgdGhlIGJ1aWx0LWluPC9kaXY+PGRpdj4rIMKgIMKgJmx0O2xpdGVyYWwmZ3Q7YXJy YXlfb3BzJmx0Oy9saXRlcmFsJmd0OzsgdGhleSBhZGRpdGlvbmFsbHkgc3VwcG9ydDwvZGl2Pjxk aXY+KyDCoCDCoCZsdDtsaXRlcmFsJmd0O0BAJmx0Oy9saXRlcmFsJmd0Oy48L2Rpdj48ZGl2Pisg wqAgJmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCAmbHQ7cHJvZ3JhbWxp c3RpbmcmZ3Q7PC9kaXY+PGRpdj4rQ1JFQVRFIElOREVYIG15X2lkeCBPTiBteV90YWJsZSBVU0lO RyBnaW4gKGNvbCBpbnQ4X2FueXF1ZXJ5X2dpbl9vcHMpOzwvZGl2PjxkaXY+KyDCoCAmbHQ7L3By b2dyYW1saXN0aW5nJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyDCoCAmbHQ7cGFyYSZndDs8 L2Rpdj48ZGl2PisgwqAgwqBGb3IgZWxlbWVudCB0eXBlcyBub3QgaW4gdGhlIGxpc3QgYWJvdmUs IHVzZSB0aGUgYnVpbHQtaW4gR0lOPC9kaXY+PGRpdj4rIMKgIMKgJmx0O2xpdGVyYWwmZ3Q7YXJy YXlfb3BzJmx0Oy9saXRlcmFsJmd0OyBmb3Igc2V0IHF1ZXJpZXMgYW5kIHJlbHkgb248L2Rpdj48 ZGl2PisgwqAgwqAmbHQ7bGl0ZXJhbCZndDthbnlhcnJheV9naXN0X29wcyZsdDsvbGl0ZXJhbCZn dDsgZm9yICZsdDtsaXRlcmFsJmd0O0BAJmx0Oy9saXRlcmFsJmd0Oy48L2Rpdj48ZGl2PisgwqAg Jmx0Oy9wYXJhJmd0OzwvZGl2PjxkaXY+KyDCoCZsdDsvc2VjdDMmZ3Q7PC9kaXY+PGRpdj4rICZs dDsvc2VjdDImZ3Q7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rICZsdDtzZWN0MiBpZD0iYW55YXJy YXktZXhhbXBsZSImZ3Q7PC9kaXY+PGRpdj4rIMKgJmx0O3RpdGxlJmd0O0V4YW1wbGUmbHQ7L3Rp dGxlJmd0OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+KyZsdDtwcm9ncmFtbGlzdGluZyZndDs8L2Rp dj48ZGl2PitDUkVBVEUgRVhURU5TSU9OIGFueWFycmF5OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+ K0NSRUFURSBUQUJMRSBtZXNzYWdlIChtaWQgSU5UIFBSSU1BUlkgS0VZLCB0YWdzIFRFWFRbXSk7 PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rQ1JFQVRFIElOREVYIG1lc3NhZ2VfdGFnc19naXN0IE9O IG1lc3NhZ2UgVVNJTkcgZ2lzdCAodGFncyBhbnlhcnJheV9naXN0X29wcyk7PC9kaXY+PGRpdj4r Q1JFQVRFIElOREVYIG1lc3NhZ2VfdGFnc19naW4gwqBPTiBtZXNzYWdlIFVTSU5HIGdpbiDCoCh0 YWdzIHRleHRfYW55cXVlcnlfZ2luX29wcyk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gTWVz c2FnZXMgdGFnZ2VkIHdpdGggYm90aCAndXJnZW50JyBhbmQgJ2J1Zyc6PC9kaXY+PGRpdj4rU0VM RUNUIG1pZCBGUk9NIG1lc3NhZ2UgV0hFUkUgdGFncyBAJmFtcDtndDsgQVJSQVlbJ3VyZ2VudCcs J2J1ZyddOzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0tIFNhbWUsIHdpdGggdGhlIHF1ZXJ5IHN5 bnRheDo8L2Rpdj48ZGl2PitTRUxFQ1QgbWlkIEZST00gbWVzc2FnZSBXSEVSRSB0YWdzIEBAICd1 cmdlbnQgJmFtcDthbXA7IGJ1Zyc6OmFueXF1ZXJ5OzwvZGl2PjxkaXY+KzwvZGl2PjxkaXY+Ky0t IE1lc3NhZ2VzIHRhZ2dlZCAndXJnZW50JyBidXQgbm90ICd3b250Zml4Jzo8L2Rpdj48ZGl2PitT RUxFQ1QgbWlkIEZST00gbWVzc2FnZSBXSEVSRSB0YWdzIEBAICd1cmdlbnQgJmFtcDthbXA7ICF3 b250Zml4Jzo6YW55cXVlcnk7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rLS0gU29ydCBhbmQgZGVk dXBsaWNhdGUgYSB0YWcgbGlzdDo8L2Rpdj48ZGl2PitTRUxFQ1QgYW55YXJyYXlfdW5pcSh0YWdz KSBGUk9NIG1lc3NhZ2UgV0hFUkUgbWlkID0gNDI7PC9kaXY+PGRpdj4rJmx0Oy9wcm9ncmFtbGlz dGluZyZndDs8L2Rpdj48ZGl2PisgJmx0Oy9zZWN0MiZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2 PisgJmx0O3NlY3QyIGlkPSJhbnlhcnJheS1hdXRob3JzIiZndDs8L2Rpdj48ZGl2PisgwqAmbHQ7 dGl0bGUmZ3Q7QXV0aG9ycyZsdDsvdGl0bGUmZ3Q7PC9kaXY+PGRpdj4rPC9kaXY+PGRpdj4rIMKg Jmx0O3BhcmEmZ3Q7PC9kaXY+PGRpdj4rIMKgIFRoZSAmbHQ7ZmlsZW5hbWUmZ3Q7YW55YXJyYXkm bHQ7L2ZpbGVuYW1lJmd0OyBtb2R1bGUgaXMgYSBnZW5lcmFsaXphdGlvbiBvZjwvZGl2PjxkaXY+ KyDCoCAmbHQ7eHJlZiBsaW5rZW5kPSJpbnRhcnJheSIvJmd0OyBieSBUZW9kb3IgU2lnYWV2IGFu ZCBPbGVnIEJhcnR1bm92LjwvZGl2PjxkaXY+KyDCoCZsdDsvcGFyYSZndDs8L2Rpdj48ZGl2Pisg Jmx0Oy9zZWN0MiZndDs8L2Rpdj48ZGl2Pis8L2Rpdj48ZGl2PismbHQ7L3NlY3QxJmd0OzwvZGl2 PjxkaXY+ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9jb250cmliLnNnbWwgYi9kb2Mvc3JjL3Nn bWwvY29udHJpYi5zZ21sPC9kaXY+PGRpdj5pbmRleCBiOWIwMzY1NGFhZC4uYzlhYWY3OWNiNjkg MTAwNjQ0PC9kaXY+PGRpdj4tLS0gYS9kb2Mvc3JjL3NnbWwvY29udHJpYi5zZ21sPC9kaXY+PGRp dj4rKysgYi9kb2Mvc3JjL3NnbWwvY29udHJpYi5zZ21sPC9kaXY+PGRpdj5AQCAtMTI4LDYgKzEy OCw3IEBAIENSRUFURSBFWFRFTlNJT04gJmx0O3JlcGxhY2VhYmxlJmd0O2V4dGVuc2lvbl9uYW1l Jmx0Oy9yZXBsYWNlYWJsZSZndDs7PC9kaXY+PGRpdj7CoCAmbHQ7L3BhcmEmZ3Q7PC9kaXY+PGRp dj7CoDwvZGl2PjxkaXY+wqAgJmFtcDthbWNoZWNrOzwvZGl2PjxkaXY+KyAmYW1wO2FueWFycmF5 OzwvZGl2PjxkaXY+wqAgJmFtcDthdXRoLWRlbGF5OzwvZGl2PjxkaXY+wqAgJmFtcDthdXRvLWV4 cGxhaW47PC9kaXY+PGRpdj7CoCAmYW1wO2Jhc2ViYWNrdXAtdG8tc2hlbGw7PC9kaXY+PGRpdj5k aWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNnbWwgYi9kb2Mvc3JjL3NnbWwvZmls ZWxpc3Quc2dtbDwvZGl2PjxkaXY+aW5kZXggMjVhODUwODI3NTkuLjA1MzAzNDJlNzRiIDEwMDY0 NDwvZGl2PjxkaXY+LS0tIGEvZG9jL3NyYy9zZ21sL2ZpbGVsaXN0LnNnbWw8L2Rpdj48ZGl2Pisr KyBiL2RvYy9zcmMvc2dtbC9maWxlbGlzdC5zZ21sPC9kaXY+PGRpdj5AQCAtMTE5LDYgKzExOSw3 IEBAPC9kaXY+PGRpdj7CoCZsdDshLS0gY29udHJpYiBpbmZvcm1hdGlvbiAtLSZndDs8L2Rpdj48 ZGl2PsKgJmx0OyFFTlRJVFkgY29udHJpYiDCoCDCoCDCoCDCoCBTWVNURU0gImNvbnRyaWIuc2dt bCImZ3Q7PC9kaXY+PGRpdj7CoCZsdDshRU5USVRZIGFtY2hlY2sgwqAgwqAgwqAgwqAgU1lTVEVN ICJhbWNoZWNrLnNnbWwiJmd0OzwvZGl2PjxkaXY+KyZsdDshRU5USVRZIGFueWFycmF5IMKgIMKg IMKgIMKgU1lTVEVNICJhbnlhcnJheS5zZ21sIiZndDs8L2Rpdj48ZGl2PsKgJmx0OyFFTlRJVFkg YXV0aC1kZWxheSDCoCDCoCDCoFNZU1RFTSAiYXV0aC1kZWxheS5zZ21sIiZndDs8L2Rpdj48ZGl2 PsKgJmx0OyFFTlRJVFkgYXV0by1leHBsYWluIMKgIMKgU1lTVEVNICJhdXRvLWV4cGxhaW4uc2dt bCImZ3Q7PC9kaXY+PGRpdj7CoCZsdDshRU5USVRZIGJhc2ljLWFyY2hpdmUgwqAgU1lTVEVNICJi YXNpYy1hcmNoaXZlLnNnbWwiJmd0OzwvZGl2PjxkaXY+ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvcmVncmVzc2lvbi5kaWZmcyBiL3NyYy90ZXN0L3JlZ3Jlc3MvcmVncmVzc2lvbi5kaWZm czwvZGl2PjxkaXY+bmV3IGZpbGUgbW9kZSAxMDA2NDQ8L2Rpdj48ZGl2PmluZGV4IDAwMDAwMDAw MDAwLi5lNjlkZTI5YmIyZDwvZGl2PjxkaXY+ZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mv cmVncmVzc2lvbi5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL3JlZ3Jlc3Npb24ub3V0PC9kaXY+PGRp dj5uZXcgZmlsZSBtb2RlIDEwMDY0NDwvZGl2PjxkaXY+aW5kZXggMDAwMDAwMDAwMDAuLjlkOGQ0 ODQxNzljPC9kaXY+PGRpdj4tLS0gL2Rldi9udWxsPC9kaXY+PGRpdj4rKysgYi9zcmMvdGVzdC9y ZWdyZXNzL3JlZ3Jlc3Npb24ub3V0PC9kaXY+PGRpdj5AQCAtMCwwICsxLDIgQEA8L2Rpdj48ZGl2 PisjIHVzaW5nIHBvc3RtYXN0ZXIgb24gVW5peCBzb2NrZXQsIGRlZmF1bHQgcG9ydDwvZGl2Pjxk aXY+KyMgY29tbWFuZCBmYWlsZWQ6ICIvVXNlcnMvdmxhZC9wZ3NxbC9iaW4vcHNxbCIgLVggLXEg LWMgIlNFVCBjbGllbnRfbWluX21lc3NhZ2VzID0gd2FybmluZyIgLWMgIkRST1AgREFUQUJBU0Ug SUYgRVhJU1RTIFwicmVncmVzc2lvblwiIiAicG9zdGdyZXMiQmFpbCBvdXQhPC9kaXY+PGRpdj5k aWZmIC0tZ2l0IGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgYi9zcmMvdG9vbHMv cGdpbmRlbnQvdHlwZWRlZnMubGlzdDwvZGl2PjxkaXY+aW5kZXggY2JkOWUxMGZjMWQuLjA0OTQ4 NWY1YzI0IDEwMDY0NDwvZGl2PjxkaXY+LS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZz Lmxpc3Q8L2Rpdj48ZGl2PisrKyBiL3NyYy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0PC9k aXY+PGRpdj5AQCAtMTI2LDcgKzEyNiwxMyBAQCBBbmFseXplQXR0ckZldGNoRnVuYzwvZGl2Pjxk aXY+wqBBbmFseXplRm9yZWlnblRhYmxlX2Z1bmN0aW9uPC9kaXY+PGRpdj7CoEFubEV4cHJEYXRh PC9kaXY+PGRpdj7CoEFubEluZGV4RGF0YTwvZGl2PjxkaXY+K0FueUFycmF5R2lzdEtleTwvZGl2 PjxkaXY+K0FueUFycmF5R2lzdE9wdGlvbnM8L2Rpdj48ZGl2PsKgQW55QXJyYXlUeXBlPC9kaXY+ PGRpdj4rQW55QXJyYXlUeXBlSW5mbzwvZGl2PjxkaXY+K0FueVF1ZXJ5PC9kaXY+PGRpdj4rQW55 UXVlcnlDaGVjazwvZGl2PjxkaXY+K0FueVF1ZXJ5SXRlbTwvZGl2PjxkaXY+wqBBcHBlbmQ8L2Rp dj48ZGl2PsKgQXBwZW5kUGF0aDwvZGl2PjxkaXY+wqBBcHBlbmRQYXRoSW5wdXQ8L2Rpdj48ZGl2 PkBAIC0xNzQ0LDYgKzE3NTAsNyBAQCBNVk5EaXN0aW5jdDwvZGl2PjxkaXY+wqBNVk5EaXN0aW5j dEl0ZW08L2Rpdj48ZGl2PsKgTWFueVRlc3RSZXNvdXJjZTwvZGl2PjxkaXY+wqBNYW55VGVzdFJl c291cmNlS2luZDwvZGl2PjxkaXY+K01hdGNoQ29udGV4dDwvZGl2PjxkaXY+wqBNYXRlcmlhbDwv ZGl2PjxkaXY+wqBNYXRlcmlhbFBhdGg8L2Rpdj48ZGl2PsKgTWF0ZXJpYWxTdGF0ZTwvZGl2Pjxk aXY+QEAgLTIzNzIsNiArMjM3OSw3IEBAIFBnWG1sU3RyaWN0bmVzczwvZGl2PjxkaXY+wqBQZ19h YmlfdmFsdWVzPC9kaXY+PGRpdj7CoFBnX2ZpbmZvX3JlY29yZDwvZGl2PjxkaXY+wqBQZ19tYWdp Y19zdHJ1Y3Q8L2Rpdj48ZGl2PitQaWNrU3BsaXRFbnRyeTwvZGl2PjxkaXY+wqBQaXBlUHJvdG9D aHVuazwvZGl2PjxkaXY+wqBQaXBlUHJvdG9IZWFkZXI8L2Rpdj48ZGl2PsKgUGxhY2VIb2xkZXJJ bmZvPC9kaXY+PGRpdj4tLcKgPC9kaXY+PGRpdj4yLjM5LjUgKEFwcGxlIEdpdC0xNTQpPC9kaXY+ PGRpdj7CoDwvZGl2PjwvZGl2PjwvZGl2Pg==