From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1kJDjx-0002Xp-T1 for barebox@lists.infradead.org; Fri, 18 Sep 2020 10:35:58 +0000 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Fri, 18 Sep 2020 12:35:37 +0200 Message-Id: <20200918103537.7192-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH] arch/x86: Replace license and copyright boilerplate by SPDX identfiers To: barebox@lists.infradead.org Cc: Roland Hieber , Ahmad Fatoum Q29udmVydHMgdGhlIGZpbGVzIHRoYXQgbGljZW5zZWNoZWNrIGNhbiBkZXRlcm1pbmUgdGhlIGxp Y2Vuc2UgZm9yLgpBZGRpdGlvbmFsbHkgc29tZSBtaW5vciBjb2RlIHJlZm9ybWF0dGluZyBpcyBk b25lLgoKU2lnbmVkLW9mZi1ieTogVXdlIEtsZWluZS1Lw7ZuaWcgPHUua2xlaW5lLWtvZW5pZ0Bw ZW5ndXRyb25peC5kZT4KLS0tCiBhcmNoL3g4Ni9iaW9zL2Jpb3NfZGlzay5TICAgICAgICAgICAg ICAgICAgICAgfCAyMyArKysrLS0tLS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9iaW9zL21lbW9yeTE2 LlMgICAgICAgICAgICAgICAgICAgICAgfCAyMSArKysrLS0tLS0tLS0tLS0tLQogYXJjaC94ODYv Ymlvcy90cmF2ZWxlci5TICAgICAgICAgICAgICAgICAgICAgIHwgMjEgKysrKy0tLS0tLS0tLS0t LS0KIGFyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9kaXNrX2Jpb3NfZHJpdmUuYyB8IDE3ICsr LS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9ib2FyZHMveDg2X2dlbmVyaWMvZW52c2VjdG9yLmggICAg ICAgfCAxNCArLS0tLS0tLS0tLQogYXJjaC94ODYvYm9hcmRzL3g4Nl9nZW5lcmljL2dlbmVyaWNf cGMuYyAgICAgIHwgMTcgKystLS0tLS0tLS0tLS0KIC4uLi9ib2FyZHMveDg2X2dlbmVyaWMvaW50 Zl9wbGF0Zm9ybV9pZGUuYyAgICB8IDE5ICsrKy0tLS0tLS0tLS0tLQogYXJjaC94ODYvYm9hcmRz L3g4Nl9nZW5lcmljL3NlcmlhbF9uczE2NTUwLmMgIHwgMTkgKysrLS0tLS0tLS0tLS0tCiBhcmNo L3g4Ni9ib290L2EyMC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxNiArKysrKy0tLS0t LS0tCiBhcmNoL3g4Ni9ib290L2Jpb3NjYWxsLlMgICAgICAgICAgICAgICAgICAgICAgfCAxMyAr KysrLS0tLS0tLQogYXJjaC94ODYvYm9vdC9ib290LmggICAgICAgICAgICAgICAgICAgICAgICAg IHwgMTYgKysrKystLS0tLS0tLQogYXJjaC94ODYvYm9vdC9ib290X21haW4uUyAgICAgICAgICAg ICAgICAgICAgIHwgMjEgKysrKy0tLS0tLS0tLS0tLS0KIGFyY2gveDg2L2Jvb3QvbWFpbl9lbnRy eS5jICAgICAgICAgICAgICAgICAgICB8IDE3ICsrLS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9ib290 L3BtanVtcC5TICAgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKystLS0tLS0tCiBhcmNoL3g4 Ni9ib290L3ByZXBhcmVfdWJvb3QuYyAgICAgICAgICAgICAgICAgfCAxMiArKystLS0tLS0tCiBh cmNoL3g4Ni9ib290L3JlZ3MuYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMyArKysrLS0t LS0tLQogYXJjaC94ODYvYm9vdC90dHkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYg KysrKystLS0tLS0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vYml0b3BzLmggICAgICAgICAgICAg ICAgIHwgMTQgKy0tLS0tLS0tLS0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL2J5dGVvcmRlci5oICAg ICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9jb21tb24u aCAgICAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20v ZG1hLmggICAgICAgICAgICAgICAgICAgIHwgIDggKystLS0tLQogYXJjaC94ODYvaW5jbHVkZS9h c20vbW9kZXMuaCAgICAgICAgICAgICAgICAgIHwgMTcgKystLS0tLS0tLS0tLS0KIGFyY2gveDg2 L2luY2x1ZGUvYXNtL21vZHVsZS5oICAgICAgICAgICAgICAgICB8IDE0ICstLS0tLS0tLS0tCiBh cmNoL3g4Ni9pbmNsdWRlL2FzbS9zZWdtZW50LmggICAgICAgICAgICAgICAgfCAxNyArKy0tLS0t LS0tLS0tLQogYXJjaC94ODYvaW5jbHVkZS9hc20vc3RyaW5nLmggICAgICAgICAgICAgICAgIHwg MTQgKy0tLS0tLS0tLS0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL3N5c2xpYi5oICAgICAgICAgICAg ICAgICB8IDE3ICsrLS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9saWIvYmFyZWJveC5sZHMuUyAgICAg ICAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLQogYXJjaC94ODYvbGliL2dkdC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMTcgKystLS0tLS0tLS0tLS0KIGFyY2gveDg2L2xpYi9s aW51eF9zdGFydC5TICAgICAgICAgICAgICAgICAgICB8IDIzICsrKystLS0tLS0tLS0tLS0tLS0K IGFyY2gveDg2L2xpYi9tZW1vcnkuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDIxICsrKyst LS0tLS0tLS0tLS0tCiBhcmNoL3g4Ni9tYWNoLWkzODYvaW5jbHVkZS9tYWNoL2JhcmVib3gubGRz LmggfCAxNyArKy0tLS0tLS0tLS0tLQogYXJjaC94ODYvbWFjaC1pMzg2L3BpdF90aW1lci5jICAg ICAgICAgICAgICAgIHwgMTcgKystLS0tLS0tLS0tLS0KIDMyIGZpbGVzIGNoYW5nZWQsIDkxIGlu c2VydGlvbnMoKyksIDQzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9iaW9z L2Jpb3NfZGlzay5TIGIvYXJjaC94ODYvYmlvcy9iaW9zX2Rpc2suUwppbmRleCBjY2UzM2U2N2Fm YWYuLmMyYTgyNGVkNmViNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYmlvcy9iaW9zX2Rpc2suUwor KysgYi9hcmNoL3g4Ni9iaW9zL2Jpb3NfZGlzay5TCkBAIC0xLDIxICsxLDggQEAKLS8qCi0gKiBD b3B5cmlnaHQgKEMpIDIwMDkgSnVlcmdlbiBCZWlzZXJ0LCBQZW5ndXRyb25peAotICoKLSAqIE1v c3RseSBzdG9sZW4gZnJvbSB0aGUgR1JVQjIgcHJvamVjdAotICogIENvcHlyaWdodCAoQykgMTk5 OSwyMDAwLDIwMDEsMjAwMiwyMDAzLDIwMDQsMjAwNSwyMDA2LDIwMDcsMjAwOCAgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq Ci0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCisvKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAy MDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXggKi8KKy8qIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IDE5OTktMjAwOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4gKi8KKworLyog TW9zdGx5IHN0b2xlbiBmcm9tIHRoZSBHUlVCMiBwcm9qZWN0ICovCiAKIC8qKgogICogQGZpbGUK ZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jpb3MvbWVtb3J5MTYuUyBiL2FyY2gveDg2L2Jpb3MvbWVt b3J5MTYuUwppbmRleCA3NmVlNzJiNTZjZGEuLmU0YWVmMmYyNTZlYSAxMDA2NDQKLS0tIGEvYXJj aC94ODYvYmlvcy9tZW1vcnkxNi5TCisrKyBiL2FyY2gveDg2L2Jpb3MvbWVtb3J5MTYuUwpAQCAt MSwyMCArMSw3IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEp1ZXJnZW4gQmVpc2VydCwg UGVuZ3V0cm9uaXgKLSAqCi0gKiBUaGlzIGNvZGUgd2FzIGluc3BpcmVkIGJ5IHRoZSBHUlVCMiBw cm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgotICogdGhlIExpY2Vuc2Us IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KLSAqCi0gKgotICovCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vci1sYXRlciAqLworLyogU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogMjAwOSBKdWVyZ2VuIEJl aXNlcnQsIFBlbmd1dHJvbml4ICovCisKKy8qIFRoaXMgY29kZSB3YXMgaW5zcGlyZWQgYnkgdGhl IEdSVUIyIHByb2plY3QuICovCiAKIC8qKgogICogQGZpbGUKZGlmZiAtLWdpdCBhL2FyY2gveDg2 L2Jpb3MvdHJhdmVsZXIuUyBiL2FyY2gveDg2L2Jpb3MvdHJhdmVsZXIuUwppbmRleCAxMTNiMTk4 MDJlYjkuLjFjMTFjOWRjNzQ3ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYmlvcy90cmF2ZWxlci5T CisrKyBiL2FyY2gveDg2L2Jpb3MvdHJhdmVsZXIuUwpAQCAtMSwyMCArMSw3IEBACi0vKgotICog Q29weXJpZ2h0IChDKSAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBN b3N0bHkgc3RvbGVuIGZyb20gdGhlIEdSVUIyIHByb2plY3QKLSAqCi0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2Rp ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICoKLSAqLworLyogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIgKi8KKy8qIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IDIwMDkgSnVlcmdlbiBCZWlzZXJ0LCBQZW5ndXRyb25peCAqLworCisvKiBN b3N0bHkgc3RvbGVuIGZyb20gdGhlIEdSVUIyIHByb2plY3QgKi8KIAogLyoqCiAgKiBAZmlsZQpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9hcmRzL3g4Nl9nZW5lcmljL2Rpc2tfYmlvc19kcml2ZS5j IGIvYXJjaC94ODYvYm9hcmRzL3g4Nl9nZW5lcmljL2Rpc2tfYmlvc19kcml2ZS5jCmluZGV4IGYz M2Y0OGMzZmJhNC4uYzhlOWFlODUyMzJhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib2FyZHMveDg2 X2dlbmVyaWMvZGlza19iaW9zX2RyaXZlLmMKKysrIGIvYXJjaC94ODYvYm9hcmRzL3g4Nl9nZW5l cmljL2Rpc2tfYmlvc19kcml2ZS5jCkBAIC0xLDE4ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQg KEMpIDIwMDkgSnVlcmdlbiBCZWlzZXJ0LCBQZW5ndXRyb25peAotICoKLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1v ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKgotICovCisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4CiAKIC8qKgogICog QGZpbGUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9lbnZzZWN0b3Iu aCBiL2FyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9lbnZzZWN0b3IuaAppbmRleCA4NjUxMWM4 YWY3ODIuLjU3YTZkMmEyMWZmMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9hcmRzL3g4Nl9nZW5l cmljL2VudnNlY3Rvci5oCisrKyBiL2FyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9lbnZzZWN0 b3IuaApAQCAtMSwxNiArMSw0IEBACi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq Ci0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCiAKIC8qKgogICogQGZpbGUKZGlmZiAtLWdpdCBh L2FyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9nZW5lcmljX3BjLmMgYi9hcmNoL3g4Ni9ib2Fy ZHMveDg2X2dlbmVyaWMvZ2VuZXJpY19wYy5jCmluZGV4IDQ4Mjg4OWYyZDk4YS4uMmYxZGI3YWNh MThkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib2FyZHMveDg2X2dlbmVyaWMvZ2VuZXJpY19wYy5j CisrKyBiL2FyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9nZW5lcmljX3BjLmMKQEAgLTEsMTgg KzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1 dHJvbml4Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotICoKLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDA5IEp1ZXJnZW4gQmVpc2Vy dCwgUGVuZ3V0cm9uaXgKIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPHR5cGVzLmg+ CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9ib2FyZHMveDg2X2dlbmVyaWMvaW50Zl9wbGF0Zm9ybV9p ZGUuYyBiL2FyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9pbnRmX3BsYXRmb3JtX2lkZS5jCmlu ZGV4IDUyOGU3MjFkNTYwYy4uMGRiMDMxNDg0ZmIxIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib2Fy ZHMveDg2X2dlbmVyaWMvaW50Zl9wbGF0Zm9ybV9pZGUuYworKysgYi9hcmNoL3g4Ni9ib2FyZHMv eDg2X2dlbmVyaWMvaW50Zl9wbGF0Zm9ybV9pZGUuYwpAQCAtMSwxOSArMSw2IEBACi0vKgotICog Q29weXJpZ2h0IChDKSAyMDE0IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgsIE1pY2hlbCBT dGFtLAotICogRnVncm8gSW50ZXJzaXRlCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m Ci0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K LSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAy MDE0IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IDIwMTQgTWljaGVsIFN0YW0sIEZ1Z3JvIEludGVyc2l0ZQogCiAvKioKICAqIEBmaWxlCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9ib2FyZHMveDg2X2dlbmVyaWMvc2VyaWFsX25zMTY1NTAuYyBi L2FyY2gveDg2L2JvYXJkcy94ODZfZ2VuZXJpYy9zZXJpYWxfbnMxNjU1MC5jCmluZGV4IGFiYzEw NDdhNTAxYy4uNDE1OWJjMzlmYjc2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib2FyZHMveDg2X2dl bmVyaWMvc2VyaWFsX25zMTY1NTAuYworKysgYi9hcmNoL3g4Ni9ib2FyZHMveDg2X2dlbmVyaWMv c2VyaWFsX25zMTY1NTAuYwpAQCAtMSwxOSArMSw2IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy MDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgsIE1pY2hlbCBTdGFtLAotICogRnVncm8g SW50ZXJzaXRlCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDA5IEp1ZXJnZW4gQmVp c2VydCwgUGVuZ3V0cm9uaXgKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMDkgTWljaGVs IFN0YW0sIEZ1Z3JvIEludGVyc2l0ZQogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9ib290L2EyMC5jIGIvYXJjaC94ODYvYm9vdC9hMjAuYwppbmRleCBkZGI0MGVlNWMyZTku LmY1MDFmZWVlZGRjMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvYm9vdC9hMjAuYworKysgYi9hcmNo L3g4Ni9ib290L2EyMC5jCkBAIC0xLDEzICsxLDkgQEAKLS8qIC0qLSBsaW51eC1jIC0qLSAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICoKLSAq Ci0gKiAgIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiBMaW51cyBUb3J2YWxkcwotICogICBDb3B5 cmlnaHQgMjAwNy0yMDA4IHJQYXRoLCBJbmMuIC0gQWxsIFJpZ2h0cyBSZXNlcnZlZAotICogICBD b3B5cmlnaHQgMjAwOSBJbnRlbCBDb3Jwb3JhdGlvbjsgYXV0aG9yIEguIFBldGVyIEFudmluCi0g KgotICogICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgTGludXgga2VybmVsLCBhbmQgaXMgbWFk ZSBhdmFpbGFibGUgdW5kZXIKLSAqICAgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSB2ZXJzaW9uIDIuCi0gKgotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IDE5OTEsMTk5MiBMaW51cyBUb3J2YWxkcworLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog MjAwNy0yMDA4IHJQYXRoLCBJbmMuCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDA5IElu dGVsIENvcnBvcmF0aW9uCisKKy8qIEF1dGhvcjogSC4gUGV0ZXIgQW52aW4gYW5kIG90aGVycyAq LwogCiAvKgogICogRW5hYmxlIEEyMCBnYXRlIChyZXR1cm4gLTEgb24gZmFpbHVyZSkKZGlmZiAt LWdpdCBhL2FyY2gveDg2L2Jvb3QvYmlvc2NhbGwuUyBiL2FyY2gveDg2L2Jvb3QvYmlvc2NhbGwu UwppbmRleCBlNjAwNzI5OTJiYjQuLjZjZGExZWI0MGE0OSAxMDA2NDQKLS0tIGEvYXJjaC94ODYv Ym9vdC9iaW9zY2FsbC5TCisrKyBiL2FyY2gveDg2L2Jvb3QvYmlvc2NhbGwuUwpAQCAtMSwxMiAr MSw3IEBACi0vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotICoKLSAqICAgQ29weXJpZ2h0IDIwMDkgSW50ZWwg Q29ycG9yYXRpb247IGF1dGhvciBILiBQZXRlciBBbnZpbgotICoKLSAqICAgVGhpcyBmaWxlIGlz IHBhcnQgb2YgdGhlIExpbnV4IGtlcm5lbCwgYW5kIGlzIG1hZGUgYXZhaWxhYmxlIHVuZGVyCi0g KiAgIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAy IG9yIChhdCB5b3VyCi0gKiAgIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb247IGluY29ycG9yYXRl ZCBoZXJlaW4gYnkgcmVmZXJlbmNlLgotICoKLSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisvKiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlciAqLworLyogU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogMjAwOSBJbnRlbCBDb3Jwb3JhdGlvbiAqLworCisvKiBBdXRob3I6IEguIFBl dGVyIEFudmluICovCiAKIC8qCiAgKiAiR2xvdmUgYm94IiBmb3IgQklPUyBjYWxscy4gIEF2b2lk cyB0aGUgY29uc3RhbnQgcHJvYmxlbXMgd2l0aCBCSU9TZXMKZGlmZiAtLWdpdCBhL2FyY2gveDg2 L2Jvb3QvYm9vdC5oIGIvYXJjaC94ODYvYm9vdC9ib290LmgKaW5kZXggZDk4YjA2NjFjZGYyLi41 NDQ4M2M0NmM2OTcgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvYm9vdC5oCisrKyBiL2FyY2gv eDg2L2Jvb3QvYm9vdC5oCkBAIC0xLDEzICsxLDkgQEAKLS8qIC0qLSBsaW51eC1jIC0qLSAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICoKLSAq Ci0gKiAgIENvcHlyaWdodCAoQykgMTk5MSwgMTk5MiBMaW51cyBUb3J2YWxkcwotICogICBDb3B5 cmlnaHQgMjAwNyByUGF0aCwgSW5jLiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKLSAqICAgQ29weXJp Z2h0IDIwMDkgSW50ZWwgQ29ycG9yYXRpb247IGF1dGhvciBILiBQZXRlciBBbnZpbgotICoKLSAq ICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIExpbnV4IGtlcm5lbCwgYW5kIGlzIG1hZGUgYXZh aWxhYmxlIHVuZGVyCi0gKiAgIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgdmVyc2lvbiAyLgotICoKLSAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCisvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCisvKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiAxOTkxLDE5OTIgTGludXMgVG9ydmFsZHMgKi8KKy8qIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IDIwMDcgclBhdGgsIEluYy4gKi8KKy8qIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMDkgSW50 ZWwgQ29ycG9yYXRpb24gKi8KKworLyogQXV0aG9yOiBILiBQZXRlciBBbnZpbiBhbmQgb3RoZXJz ICovCiAKIC8qKgogICogQGZpbGUKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvYm9vdF9tYWlu LlMgYi9hcmNoL3g4Ni9ib290L2Jvb3RfbWFpbi5TCmluZGV4IGE5NTJjOGQyNzk3Mi4uNjMyYjNm NGZmYTZmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9ib290L2Jvb3RfbWFpbi5TCisrKyBiL2FyY2gv eDg2L2Jvb3QvYm9vdF9tYWluLlMKQEAgLTEsMjAgKzEsNyBAQAotLyoKLSAqIENvcHlyaWdodCAo QykgMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4Ci0gKgotICogVGhpcyBjb2RlIHdh cyBpbnNwaXJlZCBieSB0aGUgR1JVQjIgcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwot ICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICoKLSAqLworLyogU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIgKi8KKy8qIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXggKi8KKworLyogVGhpcyBjb2Rl IHdhcyBpbnNwaXJlZCBieSB0aGUgR1JVQjIgcHJvamVjdC4gKi8KIAogLyoqCiAgKiBAZmlsZQpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC9tYWluX2VudHJ5LmMgYi9hcmNoL3g4Ni9ib290L21h aW5fZW50cnkuYwppbmRleCBhZmI3ZTMyZGZjZjMuLmIzN2FhMzhmY2EyMCAxMDA2NDQKLS0tIGEv YXJjaC94ODYvYm9vdC9tYWluX2VudHJ5LmMKKysrIGIvYXJjaC94ODYvYm9vdC9tYWluX2VudHJ5 LmMKQEAgLTEsMTggKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBKdWVyZ2VuIEJl aXNlcnQsIFBlbmd1dHJvbml4Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDA5IEp1 ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKIAogLyoqCiAgKiBAZmlsZQpkaWZmIC0tZ2l0IGEv YXJjaC94ODYvYm9vdC9wbWp1bXAuUyBiL2FyY2gveDg2L2Jvb3QvcG1qdW1wLlMKaW5kZXggMDli ZmM2ZWE4NjQ2Li40ZGQxODgxZTY1YmIgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2Jvb3QvcG1qdW1w LlMKKysrIGIvYXJjaC94ODYvYm9vdC9wbWp1bXAuUwpAQCAtMSwxMiArMSw2IEBACi0vKiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSAqCi0gKgotICogICBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTIgTGludXMgVG9y dmFsZHMKLSAqICAgQ29weXJpZ2h0IDIwMDcgclBhdGgsIEluYy4gLSBBbGwgUmlnaHRzIFJlc2Vy dmVkCi0gKgotICogICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgTGludXgga2VybmVsLCBhbmQg aXMgbWFkZSBhdmFpbGFibGUgdW5kZXIKLSAqICAgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIuCi0gKgotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKy8q IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8KKy8qIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IDE5OTEsMTk5MiBMaW51cyBUb3J2YWxkcyAqLworLyogU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogMjAwNyByUGF0aCwgSW5jLiAqLwogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1n aXQgYS9hcmNoL3g4Ni9ib290L3ByZXBhcmVfdWJvb3QuYyBiL2FyY2gveDg2L2Jvb3QvcHJlcGFy ZV91Ym9vdC5jCmluZGV4IDc5ZTZmYjBjYmVlNy4uOWNhYzU5NGE0NjMzIDEwMDY0NAotLS0gYS9h cmNoL3g4Ni9ib290L3ByZXBhcmVfdWJvb3QuYworKysgYi9hcmNoL3g4Ni9ib290L3ByZXBhcmVf dWJvb3QuYwpAQCAtMSwxMiArMSw2IEBACi0vKiAtKi0gbGludXgtYyAtKi0gLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqCi0gKgotICogICBD b3B5cmlnaHQgKEMpIDE5OTEsIDE5OTIgTGludXMgVG9ydmFsZHMKLSAqICAgQ29weXJpZ2h0IDIw MDcgclBhdGgsIEluYy4gLSBBbGwgUmlnaHRzIFJlc2VydmVkCi0gKgotICogICBUaGlzIGZpbGUg aXMgcGFydCBvZiB0aGUgTGludXgga2VybmVsLCBhbmQgaXMgbWFkZSBhdmFpbGFibGUgdW5kZXIK LSAqICAgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9u IDIuCi0gKgotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDE5OTEsMTk5MiBMaW51 cyBUb3J2YWxkcworLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogMjAwNyByUGF0aCwgSW5jLgog CiAvKgogICogUHJlcGFyZSB0aGUgbWFjaGluZSBmb3IgdHJhbnNpdGlvbiB0byBwcm90ZWN0ZWQg bW9kZS4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2Jvb3QvcmVncy5jIGIvYXJjaC94ODYvYm9vdC9y ZWdzLmMKaW5kZXggZGRjNTE1NTE4YzRlLi4zMThiNjYyMTc1YjMgMTAwNjQ0Ci0tLSBhL2FyY2gv eDg2L2Jvb3QvcmVncy5jCisrKyBiL2FyY2gveDg2L2Jvb3QvcmVncy5jCkBAIC0xLDEyICsxLDcg QEAKLS8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gKgotICogICBDb3B5cmlnaHQgMjAwOSBJbnRlbCBDb3Jw b3JhdGlvbjsgYXV0aG9yIEguIFBldGVyIEFudmluCi0gKgotICogICBUaGlzIGZpbGUgaXMgcGFy dCBvZiB0aGUgTGludXgga2VybmVsLCBhbmQgaXMgbWFkZSBhdmFpbGFibGUgdW5kZXIKLSAqICAg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgb3Ig KGF0IHlvdXIKLSAqICAgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbjsgaW5jb3Jwb3JhdGVkIGhl cmVpbiBieSByZWZlcmVuY2UuCi0gKgotICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8KKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiAyMDA5IEludGVsIENvcnBvcmF0aW9uCisKKy8qIEF1dGhvcjogSC4gUGV0ZXIgQW52aW4g Ki8KIAogLyoqCiAgKiBAZmlsZQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvYm9vdC90dHkuYyBiL2Fy Y2gveDg2L2Jvb3QvdHR5LmMKaW5kZXggYTgxNjcxYmUzYjcyLi42MjAxOTdjNjc3MDEgMTAwNjQ0 Ci0tLSBhL2FyY2gveDg2L2Jvb3QvdHR5LmMKKysrIGIvYXJjaC94ODYvYm9vdC90dHkuYwpAQCAt MSwxMyArMSw5IEBACi0vKiAtKi0gbGludXgtYyAtKi0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqCi0gKgotICogICBDb3B5cmlnaHQgKEMp IDE5OTEsIDE5OTIgTGludXMgVG9ydmFsZHMKLSAqICAgQ29weXJpZ2h0IDIwMDcgclBhdGgsIElu Yy4gLSBBbGwgUmlnaHRzIFJlc2VydmVkCi0gKiAgIENvcHlyaWdodCAyMDA5IEludGVsIENvcnBv cmF0aW9uOyBhdXRob3IgSC4gUGV0ZXIgQW52aW4KLSAqCi0gKiAgIFRoaXMgZmlsZSBpcyBwYXJ0 IG9mIHRoZSBMaW51eCBrZXJuZWwsIGFuZCBpcyBtYWRlIGF2YWlsYWJsZSB1bmRlcgotICogICB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMi4KLSAq Ci0gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogMTk5MSwxOTkyIExpbnVzIFRvcnZh bGRzCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAyMDA3IHJQYXRoLCBJbmMuCisvLyBTUERY LUZpbGVDb3B5cmlnaHRUZXh0OiAyMDA5IEludGVsIENvcnBvcmF0aW9uCisKKy8qIEF1dGhvcjog SC4gUGV0ZXIgQW52aW4gYW5kIG90aGVycyAqLwogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQg YS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9iaXRvcHMuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2Jp dG9wcy5oCmluZGV4IGU3N2FiODMyMDI5Ni4uZTJiZGY5OGU5NTZhIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9pbmNsdWRlL2FzbS9iaXRvcHMuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9iaXRv cHMuaApAQCAtMSwxNiArMSw0IEBACi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq Ci0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCiAKICNpZm5kZWYgX0FTTV9CSVRPUFNfSF8KICNk ZWZpbmUgX0FTTV9CSVRPUFNfSF8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J5 dGVvcmRlci5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vYnl0ZW9yZGVyLmgKaW5kZXggM2NmZDg1 MDU2ODQxLi44NzhiN2VhYTNjZGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J5 dGVvcmRlci5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J5dGVvcmRlci5oCkBAIC0xLDE2 ICsxLDQgQEAKLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNl LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCi0gKgotICoKLSAqLworLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb3ItbGF0ZXIgKi8KIAogLyoqCiAgKiBAZmlsZQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5j bHVkZS9hc20vY29tbW9uLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9jb21tb24uaAppbmRleCAx NzQzNjNiNThiZDEuLjEzNzZiNzZmZmU1ZCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9h c20vY29tbW9uLmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vY29tbW9uLmgKQEAgLTEsMTYg KzEsNCBAQAotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgotICogdGhlIExpY2Vuc2Us IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KLSAqCi0gKgotICovCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vci1sYXRlciAqLwogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNs dWRlL2FzbS9kbWEuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RtYS5oCmluZGV4IDI3ZDI2OWY0 OTE4Mi4uM2RhYjJiNjg4ZDhlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kbWEu aAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kbWEuaApAQCAtMSw5ICsxLDUgQEAKLS8qCi0g KiBDb3B5cmlnaHQgKEMpIDIwMTIgYnkgTWFyYyBLbGVpbmUtQnVkZGUgPG1rbEBwZW5ndXRyb25p eC5kZT4KLSAqCi0gKiBUaGlzIGZpbGUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIEdQTHYyCi0gKgot ICovCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovCisvKiBTUERY LUZpbGVDb3B5cmlnaHRUZXh0OiAyMDEyIE1hcmMgS2xlaW5lLUJ1ZGRlIDxta2xAcGVuZ3V0cm9u aXguZGU+ICovCiAKICNpZm5kZWYgX19BU01fRE1BX0gKICNkZWZpbmUgX19BU01fRE1BX0gKZGlm ZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL21vZGVzLmggYi9hcmNoL3g4Ni9pbmNsdWRl L2FzbS9tb2Rlcy5oCmluZGV4IGJkNDU0YzdjOTUzMS4uYjMzZGY4NTg5MjFjIDEwMDY0NAotLS0g YS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tb2Rlcy5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNt L21vZGVzLmgKQEAgLTEsMTggKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBKdWVy Z2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m Ci0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K LSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCisvKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXggKi8KIAogLyoqCiAgKiBAZmlsZQpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vbW9kdWxlLmggYi9hcmNoL3g4Ni9pbmNs dWRlL2FzbS9tb2R1bGUuaAppbmRleCAwNWZiYjgxZDJiODMuLjNmZDJjZTI3ZjRkNyAxMDA2NDQK LS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vbW9kdWxlLmgKKysrIGIvYXJjaC94ODYvaW5jbHVk ZS9hc20vbW9kdWxlLmgKQEAgLTEsMTYgKzEsNCBAQAotLyoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0g KiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp b24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl cnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKgotICovCisvKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlciAqLwogCiAvKioKICAqIEBmaWxlCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zZWdtZW50LmggYi9hcmNoL3g4Ni9pbmNs dWRlL2FzbS9zZWdtZW50LmgKaW5kZXggODhkOTA4YTJmY2M3Li45ZTFkODk3YjAzODYgMTAwNjQ0 Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3NlZ21lbnQuaAorKysgYi9hcmNoL3g4Ni9pbmNs dWRlL2FzbS9zZWdtZW50LmgKQEAgLTEsMTggKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg MjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4Ci0gKgotICogVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMK LSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCisvKiBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXggKi8KIAogI2lmbmRl ZiBfQVNNX1g4Nl9TRUdNRU5UX0gKICNkZWZpbmUgX0FTTV9YODZfU0VHTUVOVF9ICmRpZmYgLS1n aXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zdHJpbmcuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNt L3N0cmluZy5oCmluZGV4IDU5OTRiNTFkNzAwMi4uZjcyZDhhM2QxZDgzIDEwMDY0NAotLS0gYS9h cmNoL3g4Ni9pbmNsdWRlL2FzbS9zdHJpbmcuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9z dHJpbmcuaApAQCAtMSwxNiArMSw0IEBACi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m Ci0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K LSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCiAKIC8qKgogICogQGZpbGUKZGlmZiAtLWdp dCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3N5c2xpYi5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20v c3lzbGliLmgKaW5kZXggMTRlMzczYTVhZmI4Li43ZTA4Y2ZkNDRlNDcgMTAwNjQ0Ci0tLSBhL2Fy Y2gveDg2L2luY2x1ZGUvYXNtL3N5c2xpYi5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3N5 c2xpYi5oCkBAIC0xLDE4ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgSnVlcmdl biBCZWlzZXJ0LCBQZW5ndXRyb25peAotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgot ICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0g KgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKgotICovCisvKiBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vci1sYXRlciAqLworLyogU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog MjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4ICovCiAKICNpZmRlZiBDT05GSUdfWDg2 X0JJT1NfQlJJTkdVUAogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvYmFyZWJveC5sZHMuUyBi L2FyY2gveDg2L2xpYi9iYXJlYm94Lmxkcy5TCmluZGV4IGJmNTJiYTlhMTg5Ni4uYjI0YzQ4MDdi NTlkIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvYmFyZWJveC5sZHMuUworKysgYi9hcmNoL3g4 Ni9saWIvYmFyZWJveC5sZHMuUwpAQCAtMSwxNiArMSw0IEBACi0vKgotICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCiAKICN1bmRlZiBpMzg2 CiAjaW5jbHVkZSA8YXNtLWdlbmVyaWMvYmFyZWJveC5sZHMuaD4KZGlmZiAtLWdpdCBhL2FyY2gv eDg2L2xpYi9nZHQuYyBiL2FyY2gveDg2L2xpYi9nZHQuYwppbmRleCA0NDdlODE5NDJlMDEuLjRj ZDE2MjJiNmI2MyAxMDA2NDQKLS0tIGEvYXJjaC94ODYvbGliL2dkdC5jCisrKyBiL2FyY2gveDg2 L2xpYi9nZHQuYwpAQCAtMSwxOCArMSw1IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEp1 ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIg b2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IDIwMDkgSnVlcmdlbiBCZWlzZXJ0LCBQZW5ndXRyb25peAogCiAvKioKICAqIEBmaWxlCmRpZmYg LS1naXQgYS9hcmNoL3g4Ni9saWIvbGludXhfc3RhcnQuUyBiL2FyY2gveDg2L2xpYi9saW51eF9z dGFydC5TCmluZGV4IGI5NDg5YjhlNTA1Ny4uMDdiZTM3ZmVkNGE5IDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9saWIvbGludXhfc3RhcnQuUworKysgYi9hcmNoL3g4Ni9saWIvbGludXhfc3RhcnQuUwpA QCAtMSwyMSArMSw4IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA5IEp1ZXJnZW4gQmVpc2Vy dCwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBNb3N0bHkgc3RvbGVuIGZyb20gdGhlIEdSVUIyIHByb2pl Y3QKLSAqICBDb3B5cmlnaHQgKEMpIDE5OTksMjAwMCwyMDAxLDIwMDIsMjAwMywyMDA0LDIwMDUs MjAwNiwyMDA3LDIwMDggIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQot ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKgot ICovCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlciAqLworLyog U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4 ICovCisvKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiAxOTk5LTIwMDggRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuICovCisKKy8qIE1vc3RseSBzdG9sZW4gZnJvbSB0aGUgR1JVQjIgcHJv amVjdCAqLwogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvbWVtb3J5 LmMgYi9hcmNoL3g4Ni9saWIvbWVtb3J5LmMKaW5kZXggZGUwZTVkOTA3ZjQ5Li42NGZiYmI5MzAw ZTUgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2xpYi9tZW1vcnkuYworKysgYi9hcmNoL3g4Ni9saWIv bWVtb3J5LmMKQEAgLTEsMjAgKzEsNyBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBKdWVy Z2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4Ci0gKgotICogVGhpcyBjb2RlIHdhcyBpbnNwaXJlZCBi eSB0aGUgR1JVQjIgcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAq IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK LSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IDIwMDkg SnVlcmdlbiBCZWlzZXJ0LCBQZW5ndXRyb25peAorCisvKiBUaGlzIGNvZGUgd2FzIGluc3BpcmVk IGJ5IHRoZSBHUlVCMiBwcm9qZWN0LiAqLwogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQgYS9h cmNoL3g4Ni9tYWNoLWkzODYvaW5jbHVkZS9tYWNoL2JhcmVib3gubGRzLmggYi9hcmNoL3g4Ni9t YWNoLWkzODYvaW5jbHVkZS9tYWNoL2JhcmVib3gubGRzLmgKaW5kZXggZjZmNjM0NjM5OGEzLi41 MGYxNzM0MGU0MGEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L21hY2gtaTM4Ni9pbmNsdWRlL21hY2gv YmFyZWJveC5sZHMuaAorKysgYi9hcmNoL3g4Ni9tYWNoLWkzODYvaW5jbHVkZS9tYWNoL2JhcmVi b3gubGRzLmgKQEAgLTEsMTggKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSBKdWVy Z2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9m Ci0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K LSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqCi0gKi8KKy8qIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyICovCisvKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXggKi8KIAogLyoqCiAgKiBAZmlsZQpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvbWFjaC1pMzg2L3BpdF90aW1lci5jIGIvYXJjaC94ODYvbWFj aC1pMzg2L3BpdF90aW1lci5jCmluZGV4IDg1N2JhMzEzNmNjZi4uZDJkYTNiNjBkNDhiIDEwMDY0 NAotLS0gYS9hcmNoL3g4Ni9tYWNoLWkzODYvcGl0X3RpbWVyLmMKKysrIGIvYXJjaC94ODYvbWFj aC1pMzg2L3BpdF90aW1lci5jCkBAIC0xLDE4ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMp IDIwMDkgSnVlcmdlbiBCZWlzZXJ0LCBQZW5ndXRyb25peAotICoKLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Ci0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKgotICovCisvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29weXJp Z2h0VGV4dDogMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4ICovCiAKIC8qKgogICog QGZpbGUKLS0gCjIuMjcuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmJhcmVib3ggbWFpbGluZyBsaXN0CmJhcmVib3hAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2JhcmVib3gK